如何搭建以太坊私链请参考:
https://blog.csdn.net/Ssuper_X/article/details/83272170
- 编写/编译智能合约:
通过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。
- 部署智能合约
部署智能合约不仅需要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()
- 合约交互
-
获取合约对象:myContract = eth.contract(abi)
-
实例化合约对象:MyContract = myContract.at(initializer.address)
-
调用成功输出