应用链vnode代理指南
优质
小牛编辑
162浏览
2023-12-01
代理Vnode节点(VNODE-PROXY)
在MOAC系统中,代理Vnode节点被用于提供子链调用服务和子链历史数据中转服务的节点。启动代理节点的方法和启动母链矿工节点的方法类似。但是,需要额外在vnodeconfig.json的VnodeBeneficialAddress里设置收益账号。
当提供子链调用合约服务时,需要调用子链时的via字段,设置和VnodeBeneficialAddress相同,否则该节点将不会工作。
在提供子链历史数据服务前,需要先向代理合约注册此节点以便被随机选中进行中转,方法如下:
另附1添加代理Vnode节点的Javascript方法:
function vnodeRegister (baseAddr,basePasswd, vnodeAddr,vnodeChain)
{
chain3.personal.unlockAccount(baseAddr,basePasswd);
sendtx(baseaddr, vnodeChain, '1','0x32434a2e000000000000000000000000' + vnodeAddr //数据1
+'0000000000000000000000000000000000000000000000000000000000000040'//数据2
+'0000000000000000000000000000000000000000000000000000000000000013'//数据3
//1 9 2 . 1 6 8 . 1 0 . 1 6 : 5 0 0 6 2
+'3139322e3136382e31302e31363a353030363200000000000000000000000000');//数据4
}
【说明】:
- baseAddr、basePasswd:Dapp用户用来发送交易前账户解锁;
- vnodeChain:部署VNODE-PROXY合约得到的合约地址;
- vnodeAddr:vnodeconfig.json的VnodeBeneficialAddress
- 数据1:'0x32434a2e '是VNODE-PROXY合约 中‘register(address vnode, string link)’通过hash算法Keccak256得到前4个字节,本例押金交1moac;本例带两个参数;
- 数据2:string数据类型;
- 数据3:string数据长度;
- 数据4:string内容
另附2调用实例:
vnodeRegister ('0x1b9ce7e......1e0e38913a56cd986786',
‘123’,
'0x1b9ce7e4f156c1a28f......38913a56cd986786',
'0x979b01d62ae09dfce5......95541bd32580de66')