鹅厂之区块链(5)-智能合约部署

私链完成之后需要进行智能合约的部署,一种方案是通过Mist钱包进行编译、部署。另一种方案是通过命令行进行部署。

方案一的自行忽略;

方案二:每个以太坊合约编译之后都会得到ABI接口,通过使用ABI码来创建合约。在线编译器:https://remix.ethereum.org 获得ABI代码;

注:编译之后的ABI代码存放在 WEB3DEPLOY 中,在ABI栏中并不能看到ABI码;

获取ABI接口后,接下来利用命令行进行部署:(以下命令在geth中执行)

var mycontractContract = web3.eth.contract([{"constant":false,"inputs":[],"name":"getSum","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]);

以上命令中web3.eth.contract(*)的 *是指通过编译器得到的abi;

var mycontract = mycontractContract.new(   {     from: web3.eth.accounts[0],      data: '0x6080604052348015600f57600080fd5b5060868061001e6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063569c5f6d146044575b600080fd5b348015604f57600080fd5b5060566058565b005b5600a165627a7a723058203d6f886778e7b74f6e760c8b071bc5e31c848dac02751dcdee57f75514f6d4570029',      gas: '4700000'   }, function (e, contract){    console.log(e, contract);    if (typeof contract.address !== 'undefined') {         console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);    } })

以上命令中from :指创建合约的账户。其他数据均为编译器所得。

在开启new()时,需要开启挖矿模式:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值