在testrpc上部署合约

2016-12-03  本文已影响0人  zl_lz

通过geth在测试链上部署合约

1.打开testrpc

2.重开一个终端连接到RPC服务

geth attach http://127.0.0.1:8545 

3.新建一个合约  

con = "pragma solidity ^0.4.2; contract test { function add(uint a,uint b) returns(uint c) { return a + b ; } }"

4.进行编译,编译器会输出一个合约对象

compilecon = eth.compile.solidity(con)  

5.从合约对象中得到code和abi

code = compilecon.code

abi = compilecon.info.abiDefinition

6.然后把合约部署到区块链上

web3.eth.contract(abi).new({from: eth.accounts[0], data: code},function(err, contract){console.log(contract.address)} )

测试时返回0x579f0c4f3bc489329f0e62ced3334215948cd246这是合约地址

7.装载一个已部署的合约

address = "0x579f0c4f3bc489329f0e62ced3334215948cd246"

contract  = web3.eth.contract(abi) //创建一个合约对象,用来初始化合约

mycontract = contract.at(address)

8.与合约交互

mycontract.add.call(1,2)

上一篇下一篇

猜你喜欢

热点阅读