Solidity智能合约开发技术与实战.ppt

  1. 1、本文档共1327页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
根据相关教材和网络资源整理制作,可作为授课教师的参考资料和专业学生、从业人员的自学资料。如有侵权,请联系删除!

4.向合约发送以太币(1)调用合约抽象的sendTransaction()函数(2)使用instance.send()函数(1)调用合约抽象的sendTransaction()函数instance.sendTransaction({...}).then(function(result){//处理交易结果});交易对象sendTransaction()函数的参数是一个表示交易对象的JSON字符串。交易对象通常包含如下参数:·from,发送Ether和支付Gas的账户;·to,接收Ether的账户;·gas,花费的Gas数量;·gasPrice,Gas的价格;·转账,支付的金额;·data,数据;·nonce,随机数;在向合约转账时,无需指定参数to,指定参数from即可constinstance=awaitMyContract.deployed();constresult=awaitinstance.sendTransaction({from:accounts[0],web3.utils.toWei(1,ether)}););

(2)使用instance.send()函数

使用方法与sendTransaction()函数相似。5.truffle-contractAPItruffle-contractAPI是Truffle框架基于Node.js和Web3.js封装的,用于更方便地与智能合约进行交互。安装truffle-contractAPInpminstalltruffle-contract导入truffle-contractAPIvarTruffleContract=require(truffle-Contract)得到合约抽象对象varMetaCoinRegistry=contract(require(../build/contracts/MetaCoin.json));注册到指定的以太坊网络,比如Ganache测试链varprovider=newWviders.HttpProvider(:7545);MetaCoinRegistry.setProvider(provider);MetaCoinRegistry.setNetwork(5777);//rpcport获取合约实例的方法MetaCoinRegistry.deployed().then(function(instance){//……}调用合约MetaCoin的sendCoin()函数向账户account1转账10ETHERinstance.sendCoin(account1,10,{from:account2});8.3.2TruffleDevelop1.TruffleDevelop与TruffleConsole的区别2.使用TruffleDevelop的方法1.TruffleDevelop与TruffleConsole的区别·TruffleConsole可以连接到任意指定的以太坊节点;·TruffleDevelop内置一个用于开发的测试区块链,默认连接至此区块链。在如下情形下应该选择TruffleConsole:·已经安装并使用了以太坊客户端,例如Ganache或Geth。·想要将智能合约部署到测试网络或以太坊主网。因为使用TruffleConsole可以很方便的连接到指定的测试网络或以太坊主网。关于以太坊测试网络的基本情况将在第9章中介绍。·需要使用特定的网络的特定账户时,则使用TruffleConsole手动配置连接到该网络。在如下情形下应该选择TruffleDevelop:·对项目进行测试,并且不急于部署项目。·不要求使用特定的账户,只要使用测试账户即可。·不需要安装和使用独立的区块链。2.使用TruffleDevelop的方法3.Truffle命令命令具体说明build使用现有配置执行项目构建工作流compile编译智能合约config显示用户级别的配置选项console运行TruffleConsole命令行工具create创建新的合约、迁移或测试,命令格式如下:?trufflecreateartifact_typeArtifactName?artifact_type指定要创建的对象的类型,可以是contract、migration或test;ArtifactName指定要创建的对象名。根据参数,tr

文档评论(0)

139****1983 + 关注
实名认证
内容提供者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档