您的位置:首页 > 其它

在以太坊的私链上发布智能合约

2018-11-13 10:22 141 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Ssuper_X/article/details/83302056 如何搭建以太坊私链请参考:
https://blog.csdn.net/Ssuper_X/article/details/83272170
  1. 编写/编译智能合约:
    通过Remix在线编译合约类:https://ethereum.github.io/browser-solidity/
#这是一个简单的乘法例子
pragma solidity ^0.4.2;
contract test {
function multiply(uint a) returns(uint d) {
return a * 7;
}
}


通过Remix编译获取智能合约对的BYTECODE、ABI、WEB3DEPLOY。

  1. 部署智能合约
部署智能合约不仅需要ABI和CODE,还需要一个解锁了的ETH账号,关于搭建私链创建ETH账号请参考:
https://blog.csdn.net/Ssuper_X/article/details/83272170
创建合约
  • 进入geth命令行中
  • 在编译后的内容中获取ABI信息
  • 写入ABI信息:contract = eth.contract(abi)
  • 解锁from的账号然后进行初始化:
  • 通过挖矿确认合约发布
miner.start()
Contract mined! address: 0x11eC1500187D8e0e7662add5700B77b8b27E0EE1 transactionHash: 0xd1b25d8f817166f9df94202bc66db547f93178d4b08aba8ad9ada5503e2665c1
==> 出现上面的消息代表部署成功啦。
miner.stop()
  1. 合约交互
  • 获取合约对象:myContract = eth.contract(abi)

  • 实例化合约对象:MyContract = myContract.at(initializer.address)

  • 调用成功输出

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