1、通过浏览器访问Remix(http://remix.ethereum.org/),待加载完毕后,我们在contract目录下新建一个名为Voting.sol的智能合约。 2、然后选择左边Solidity compiler对Voting.sol合约进行编译,出现左下角的ABI与bytecode说明编译完成。 3、然后部署合约到ganache测试链(这里后面附上安装教程)。环境选择Web3 Provider,然后根据自己部署的ganache配置url,点击ok保存。我这里部署在本机,所以是http://127.0.0.1:8545 4、输入合约参数(我的合约构造函数需要传参),然后点击Deploy对合约进行部署,发现如下错误。根据错误提示说我们的入参是无效的,我们分析合约可知,构造参数入参是定义bytes32(32字节),如果没有占满32字节的话会补0,但是这里我们看到错误提示是没有补0的,因此我们要自己补全。到底需要补多少呢?我这里输入的是16进制,16进制一个字符占4位,这里是bytes32(32字节),由于1字节=8位,因此32字节=256位。我这里的入参是0xff,也就是2个f,那么这里就占用了2X4=8位,256-8=248位。248/4=62个16进制的字符。所以0xff补全后的参数为”0xff00000000000000000000000000000000000000000000000000000000000000“。 重新替换入参后后再次发布,提示发布成功。
补:ganache区块链测试环境安装 1、首先得安装好nodejs环境 2、然后创建一个项目,在该目录下打开命令窗口,然后执行npm init 3、步骤2完毕后再执行npm ganache-cli,静待安装完毕。然后进入该目录"node_modules/.bin"下执行ganache-cli等待环境启动,出现下图所示说明启动成功。
参考:solidity中文文档——登链社区。https://learnblockchain.cn/docs/solidity/