百度超级链XuperUnion合约账号(Ubuntu18.04)

一、ACL配置

ACL即访问控制列表,超级链中ACL配置格式如下:

{
	"pm": {
		"rule": 1,
		"acceptValue": 0.6
	},
	"aksWeight": {
		"YFS2JNvTmgwLK14JNsyXQ5F6cYsY1i75V": 0.4,
		"Y4tr4K8w2zmQUcstmaYwKe9Ec3QjX8U8y": 0.3,
		"SwFBN77Nq34ibFKkPHrHza3ESRcf1azro": 0.3
	}
}

ACL可以规定合约账号背后各地址的权重占比aksWeight,只有当各地址的权重占比aksWeight之和大于或等于设定阈值acceptValue时操作才会有效地进行。

二、创建合约账号

  • 创建配置文件account.json,内容如下:
{
    "module_name":"xkernel",
    "method_name":"NewAccount",
    "args" : {
        "account_name":"1572318884355000",
        "acl": "{\"pm\":{\"rule\": 1,\"acceptValue\": 0.6},\"aksWeight\": {\"YFS2JNvTmgwLK14JNsyXQ5F6cYsY1i75V\": 0.4,\"Y4tr4K8w2zmQUcstmaYwKe9Ec3QjX8U8y\": 0.3,\"SwFBN77Nq34ibFKkPHrHza3ESRcf1azro\": 0.3}}"
    }
}

其中account_name为合约账号的名称,由16位数字组成。要注意acl配置中引号需要转义。

  • 看一下创建账号需要的费用
./xchain-cli account new --desc account.json

在这里插入图片描述

  • 创建账号
./xchain-cli account new --desc ./releate_file/account.json --fee 1000

在这里插入图片描述

  • 将合约账号acl的地址写入到data/acl/addrs中,用于后续签名,内容如下:
XC1572318884355000@xuper/YFS2JNvTmgwLK14JNsyXQ5F6cYsY1i75V
XC1572318884355000@xuper/Y4tr4K8w2zmQUcstmaYwKe9Ec3QjX8U8y
XC1572318884355000@xuper/SwFBN77Nq34ibFKkPHrHza3ESRcf1azro

注:快捷创建合约账号的方式

./xchain-cli account new --account 1572319456949000 --fee 1000

此命令会创建一个名为 XC1572319456949000@xuper 的账号,但是因为没有配置ACL,所以ACL被默认设置为有权限的账号仅为当前节点。
在这里插入图片描述

三、操作合约账号

以下文件位置与文件名按自己本机实际情况操作

3.1 查询账号ACL

./xchain-cli acl query --account XC1572318884355000@xuper

在这里插入图片描述

3.2 转账

./xchain-cli transfer --to XC1572318884355000@xuper --amount 10000 --keys data/keys/ -H 127.0.0.1:37101

在这里插入图片描述

3.3 查询账号余额

./xchain-cli account balance XC1572318884355000@xuper -H 127.0.0.1:37101

在这里插入图片描述

3.4 修改账号ACL

  • 新的配置文件update.json,内容如下:
{
    "module_name":"xkernel",
    "method_name":"SetAccountAcl", 
    "args" : {
        "account_name":"XC1572318884355000@xuper",
        "acl": "{\"pm\":{\"rule\": 1,\"acceptValue\":0.6},\"aksWeight\": {\"YFS2JNvTmgwLK14JNsyXQ5F6cYsY1i75V\":0.5,\"SwFBN77Nq34ibFKkPHrHza3ESRcf1azro\":0.5}}"
    }
}

其中method_name要修改为:SetAccountAcl

  • 查询生成多重签名交易需要的费用
./xchain-cli multisig gen --desc releate_file/update.json --from XC1572318884355000@xuper

在这里插入图片描述

  • 生成多重签名交易
./xchain-cli multisig gen --desc releate_file/update.json --from XC1572318884355000@xuper --fee 1

默认产生一个tx.out文件,可以指定文件名称:

./xchain-cli multisig gen --desc releate_file/update.json --from XC1572318884355000@xuper --fee 1 --output update.out

在这里插入图片描述

  • 对生成的交易做签名
./xchain-cli multisig sign --tx update.out --keys data/keys/ 

默认生成sign.out文件,可以指定文件名称:

./xchain-cli multisig sign --tx update.out --keys data/keys/ --output node1.sign
./xchain-cli multisig sign --tx update.out --keys ../node2/data/keys/ --output node2.sign

在这里插入图片描述

  • 发送签名后的交易
./xchain-cli multisig send --tx update.out node1.sign,node2.sign node1.sign,node2.sign

在这里插入图片描述

  • 修改ACL成功
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值