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

写在前边:

    部署完成代币以后,在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 把生成的编码 拷贝到如下图即可



猜你喜欢

转载自blog.csdn.net/java_hhhh/article/details/79773506
今日推荐