【智能合约】Go语言调用智能合约 | geth

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
以太坊智能合约开发环境及总结 今年上半年开始接触基于区块链的以太坊智能合约编程。由于⽹络现有资料⼤多使⽤truffle2.0框架,⽽更新的truffle3.0在使⽤习惯上有 较⼤改动,很多教程已经不太适合新⼿使⽤。这⾥在吸收了部分⽹络资源,及多次⾃我尝试后,较为详细总结了linux系统下利⽤ truffle3.0+testrpc完成以太坊智能合约+DApp开发⽤到的环境搭建过程,并归纳了开发过程中遇到的⼀些问题及解决⽅案,合约编程语 ⾔为solidity。 环境搭建 (打开终端:同时按住Ctrl + Alt + T键) 1.安装git sudo apt-get install git * 如果在安装git时出现E:Package 'git' has no installation candidate错误提⽰,即可使⽤:sudo apt-get install git-core * git --version 查看是否安装成功 2.安装nodejs sudo apt-get install curl sudo apt-get install -y nodejs * nodejs -v 查看是否安装成功 3.安装solc和solc-cli sudo npm install -g solc solc-cli --save-dev * solcjs --help查看是否安装成功 4.安装solc⼆进制包(使⽤geth要⽤到) sudo add-apt-repository ppa:ethereum/ethereum sudo apt-get update sudo apt-get install solc 4.1 建⽴软链接(可不⽤) 5.安装testrpc sudo npm install -g ethereumjs-testrpc * testrpc安装失败,找不到script,解决⽅法可参考 * testrpc 查看是否安装成功 6.安装truffle3.0 sudo npm install -g truffle * truffle version 查看是否安装成功 7.安装Geth sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum Truffle3.0使⽤教程(按顺序) 窗⼝1: mkdir myproject 新建⼦⽬录 cd myproject truffle init webpack初始化项⽬ truffle compile 编译 窗⼝2: testrpc 启动testrpc 窗⼝1: truffle migrate (truffle2.0以上)部署项⽬ npm run build truffle serve 启动服务 窗⼝3: *运⾏多次时可能报错,将后两个指令改为npm run dev 项⽬⽂档说明 app/:存放前端javascript⽂件和stylesheets⽂件,在开发Dapps时使⽤; contracts/:智能合约⽂件的存放⽬录; migrations/:存放部署脚本; test/:存放智能合约测试⽂件 DApp开发总结(truffle3.0) 1.对于⼀个不会改写区块链状态的f()函数,使⽤instance.f.call();⽽对于⼀个会改写区块链状态的函数f(),使⽤instance.f()。底层在实 现调⽤上,会使⽤不同gas计算⽅式。 2.报错invalid address 原因:未设置默认账户地址 解决⽅案: Test.defaults({ from : "0x299127d72e28cb92d09f856aaedeb139d1e7e74a" }); *Test是合约初始化变量 3.合约交互抽象层语法 MyContract.setProvider(someWeb3Provider); MyContract.deployed().then(function(instance) { return instance.someFunction(); }).then(function(result) { }); 4.DApp界⾯读写数据 4.1 整型 var test = parseInt(document.getElementById("test").value); meta.write(test); meta.read.call().then(function(value) { var value_element = document.getElementByI

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小生凡一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值