通過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.然后把合約部署到區(qū)塊鏈上
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) //創(chuàng)建一個合約對象,用來初始化合約
mycontract = contract.at(address)
8.與合約交互
mycontract.add.call(1,2)