您的位置:首页 > 其它

Verify And Publish 合约(如何获取构造函数的16进制编码)

2018-03-31 22:00 351 查看
写在前边:
    部署完成代币以后,在ico期间遇到的问题,需要Verify And Publish你的合约代码,但是需要提供 构造函数的16进制编码,如何获得呢?两种方式,第一种方式是在部署完成合约以后,进 https://etherscan.io/   把合约地址搜索出来,进行Verify And Publish 合约,此时验证合约的时候,构造函数的参数的16进制编码会存在于你的浏览器中,如果退出浏览器重新进行publish,就需要手动获取构造函数的16进制参数编码。
该步骤变态之处在于,如何获取构造函数的16进制编码:
  前提需要linux或者mac支持 node(windows下建议安装ubuntu)
  1 sudo npm install -g ethereumjs-abi        安装 ethereumjs-abi   如果安装失败,请先安装node.js 和 npm
  2 sudo install -g bn.js                                 安装bn.js
  3 npm list -g --depth=0                             查看安装地址  一般会在/usr/local/lib 地址下
  4 cd /usr/local/lib/node_modules              进入到安装目录下
  5 cat>demo.js                                             在当前目录下编辑 js文件并且保存
    js文件如下
    var abi =require("ethereumjs-abi");
    var BN = require("bn.js");
    var parameterTypes = ['address','uint256'];    //  (这里的两个参数,是因为部署合约的时候,合约的构造函数中有这两个                                                                               //参数)
    var parameterValues =["0x7a6d7a.....",100000];    //(这里的value,是create合约代码时候构造函数中传入的参数)

    var encoded = abi.rawEncode(parameterTypes,parameterValues);
6 node demo.js    //  会输出正确的16进制编码   如下
   


7 把生成的编码 拷贝到如下图即可



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息