在testrpc上部署合约

通过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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 更多信息可以前往 www.94eth.com 今天要讲的就是干货了,我们来写一个最简单的智能合约! 预备条件 你要...
    泡沫与周期_白羊Jerry阅读 6,995评论 0 3
  • 本文是对以太坊文档 Ethereum Frontier Guide 和 Ethereum Homestead 的整...
    趁风卷阅读 9,585评论 0 16
  • 一、区块链 1. 分布式去中心化 比特币设计的初衷就是要避免依赖中心化的机构,没有发行机构,也不可能操纵发行数量。...
    Tenny1225阅读 33,906评论 5 35
  • 忙忙忙,也不知道忙什么 今天报过数字了,希望能歇两天,赶紧准备毕业答辩 今天开始正式晨练7公里,早上起来还稍微有些...
    tracy_bacb阅读 201评论 0 0
  • 你的眼睛还没掉转来望我 只起了一个势, 我早惊乱得同一只 听到弹弓弦子响中的小雀了 我是这样怕与你灵魂接触 因为你...
    摄影师柳丁阅读 191评论 0 1