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

如何搭建以太坊私链请参考:
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;
   }
}

在以太坊的私链上发布智能合约_第1张图片
通过Remix编译获取智能合约对的BYTECODE、ABI、WEB3DEPLOY。

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

  • 实例化合约对象:MyContract = myContract.at(initializer.address)
    在以太坊的私链上发布智能合约_第6张图片

  • 调用成功输出

成功输出

你可能感兴趣的:(区块链)