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