防火墙服务 fw
针对合约防火墙的相关操作
防火墙信息查询 fw query
描述
通过查询键,查询指定合约的防火墙信息
参数
必选参数:
<addres>: 查询键,通过合约账户地址进行查询(返回结果唯一)
操作
./vcl fw query "0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0" --keyfile ../conf/keyfile.json
输出结果
{
"ContractAddr":"0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0",
"Active":false,
"AcceptedList":null,
"RejectedList":null
}
防火墙开启 fw start
描述
对指定合约开启防火墙服务
参数
必选参数:
<addres>: (进行防火墙设置的)合约账户地址
操作
./vcl fw start "0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0" --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event Notify: 0 fw start success "
],
"blockNumber": 175,
"GasUsed": 35108,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000005",
"TxHash": ""
}
防火墙关闭 fw stop
描述
对指定合约关闭防火墙服务
参数
必选参数:
<addres>: (进行防火墙设置的)合约账户地址
操作
./vcl fw stop "0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0" --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event Notify: 0 fw close success "
],
"blockNumber": 177,
"GasUsed": 35176,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000005",
"TxHash": ""
}
防火墙规则导出 fw export
描述
将指定合约的防火墙规则导出到指定位置的防火墙规则文件中
参数
必选参数:
<addres>: 合约账户地址
可选参数:
--file <file>: 导出的防火墙规则文件存储的路径,默认路径为./config
操作
# 导出防火墙规则到指定路径
./vcl fw export "0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0" --file <file path> --keyfile ../conf/keyfile.json
输出结果
result: Operation Succeeded
防火墙规则导入 fw import
描述
将XX格式防火墙文件中的防火墙规则导入指定合约的防火墙规则中
参数
必选参数:
--addr <addres>: (进行防火墙设置的)合约账户地址
可选参数:
--file <file>: 导入的防火墙规则文件的路径,默认文件为。/config/fireWall.json
操作
./vcl fw import "0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0" --file <file path> --keyfile ../conf/keyfile.json
输出结果
result: Operation Succeeded
防火墙规则添加 fw new
描述
新建一条或多条指定合约的防火墙规则。一条防火墙规则包含具体的防火墙操作(accept或reject操作),需要进行过滤的账户地址以及需要进行限制访问的合约接口名。
参数
必选参数:
<addrres>: (进行防火墙设置的)合约账户地址
<action>: 防火墙操作:允许accept或拒绝reject
<account>: 指定被过滤的一个或多个用户账户地址,'*'表示防火墙规则对所有用户账户地址生效。格式["<address1>","<address2>"],单个账户地址可省略[]。
<api>: 指定过滤的合约接口名,'*'表示该合约的所有接口(目前无法使用*)。格式["<funcname1>","<funcname2>"],单个接口名可省略[]。示例--api "getName"
注解
目前只支持单条防火墙规则的添加,即单个账户地址+单个接口
操作
## 新增一条防火墙规则
./vcl fw new 0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0 accept 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 function1 --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event Notify: 0 fw add success "
],
"blockNumber": 179,
"GasUsed": 39120,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000005",
"TxHash": ""
}
防火墙规则删除 fw delete
描述
删除一条指定合约的防火墙规则。
参数
必选参数:
<addres>: (进行防火墙设置的)合约账户地址
<action>: 防火墙操作:允许approve(allow?)或拒绝reject(block?)
<account>: 指定被过滤的一个或多个用户账户地址,'*'表示防火墙规则对所有用户账户地址生效。格式["<address1>","<address2>"],单个账户地址可省略[]。
<api>: 指定过滤的合约接口名,'*'表示该合约的所有接口。格式["<funcname1>","<funcname2>"],单个接口名可省略[]。示例--api "getName"
注解
目前只支持单条防火墙规则的删除,即单个账户地址+单个接口
操作
./vcl fw delete 0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0 accept 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 function1 --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event Notify: 0 fw delete success "
],
"blockNumber": 181,
"GasUsed": 39120,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000005",
"TxHash": ""
}
防火墙规则重置 fw reset
描述
将指定合约的防火墙accept操作或者reject操作对应的所有规则清空,并再写入成一条对应操作的新的规则。
参数
必选参数:
<addres>: (进行防火墙设置的)合约账户地址
<action>: 防火墙操作:允许accept(allow?)或拒绝reject(block?)
<account>: 指定被过滤的一个或多个用户账户地址,'*'表示防火墙规则对所有用户账户地址生效。格式["<address1>","<address2>"],单个账户地址可省略[]。
<api>: 指定过滤的合约接口名,'*'表示该合约的所有接口。格式["<funcname1>","<funcname2>"],单个接口名可省略[]。示例--api "getName"
注解
目前只支持单条防火墙规则的重置,即单个账户地址+单个接口
操作
./vcl fw reset 0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0 reject 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 function1 --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event Notify: 0 fw reset success "
],
"blockNumber": 182,
"GasUsed": 36332,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000005",
"TxHash": ""
}
防火墙规则清理 fw clear
描述
清空指定合约的防火墙的approve操作或reject操作的全部规则
参数
必选参数:
<addres>: (进行防火墙设置的)合约账户地址
可选参数:
--action string 清除对应操作的防火墙规则。防火墙操作:允许approve(allow?)或拒绝reject(block?)
--all 清除所有操作的防火墙规则
操作
# 清除对应防火墙操作规则
./vcl fw clear "0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0" --action "Reject" --keyfile ../conf/keyfile.json
# 清除所有防火墙规则
./vcl fw clear "0x37bb31bc209d1d0d049fa3de34609b4de8d8c6d0" --all --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event Notify: 0 fw clear success "
],
"blockNumber": 183,
"GasUsed": 35652,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000005",
"TxHash": ""
}