ImageVerifierCode 换一换
格式:PDF , 页数:5 ,大小:621.52KB ,
资源ID:100758080    下载:注册后免费下载
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wdfxw.net/Fulltext100758080.htm】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(web3基础  by yudan.pdf)为本站会员(max1024)主动上传,文档分享网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文档分享网(发送邮件至service@wdfxw.net或直接QQ联系客服),我们立即给予删除!

web3基础  by yudan.pdf

web3基础 by yudan0 x01 总览web3js 1.0 接法(中册)0 x02 环境配置npm install install的是最新的版本,现在是1.0.0,在找教程的时候应该注意web3的版本,不然就是瞎搞,在进测试之前需要在你喜欢的地新建个件夹,然后运以下命令进环境初始化和下载web3紧接着在项引即可0 x03 开始搞事情以下全部是在命令下的操作1、键 node 进命令提符2、var Web3=require(web3)3、设置Provider(本例使本地的巧克酱(ganache)作为rpc,也是最好的法):4、部署合约:1:获取合约字节码(使solc命令),并将字节码保存到当前录2:获取合约的abinpm initnpm install web3var web3=new Web3(new Web3.provider.HttpProvider(http:/127.0.0.1:7545)solc-bin.sol abi.txt12113:创建合约实例运截图:4:部署合约(将合约的bytecode填data部分)5:设置实例地址,如果不设置的话法调合约法,与合约交互不设置地址的警告设置地址solc-abi.sol bin.txtvar MyContract=new web3.eth.Contract(constant:false,inputs:name:_to,type:address,name:_value,type:uint256,name:transferTo,outputs:name:,type:uint8,payable:false,stateMutability:nonpayable,type:function,inputs:,payable:false,stateMutability:nonpayable,type:constructor)MyContract.deploy(data:).send(from:巧克力酱(ganache)上随便一个地址,gasPrice:按照下图设置即可,gas:按照下图设置即可).then(function(newContractInstance)console.log(newContractInstance.options.address)1115:调合约法,与合约交互运截图功告成,可以在巧克酱(ganache)上查询到相关的记录了例合约:0 x04 相关问题:1:为什么连接了infura节点作为rpc节点法成功对合约进调?答:因为infura节点上没有你的帐号,需要使web3.eth.sendSignTransaction()法,相当于发送离线签名的交易运截图:MyContract.options.address=0 x1234567788.(上面返回的地址)MyContract.methods.transferTo(0 x3AD86bE1aBbe61d1ab24E390Fc1E0A67F323c785,123).send(from:0 x784F66f448791d79baF9E37C3BD7CeF61aFA1bbb).then(function(transactionHash)console.log(transactionHash)pragma solidity 0.4.23;contract Test uint totalSupply=1e18;mapping(address=uint)balance;constructor()public balancemsg.sender=totalSupply;function transferTo(address _to,uint _value)public returns(uint8)balancemsg.sender-=_value;balance_to+=_value;11123456789101112当前Provider:账户:返回为空,可见账户列表是个空列表,这就是不能成功的原因解决办法:使web3.eth.sendSigTransaction()法1:下载ethereumjs-tx2:设置交易原始数据(parameter),data部分为调合约的法的ABI获取式:3:设置的签名私钥4依次:执以下命令,对交易数据进签名和些处理npm install ethereumjs-txparameter=data:0 x2ccb1b3000000000000000000000000071e9a2cf63ae147d3a4a2623ee54ec10864ccf67000000000000000000000000000000000000000000000000000000000000007b,nonce:159,/设置为你发起交易的地址的上一笔交易的nonce+1 gasLimit:0 x7a1200,gasPrice:0 x2540be400,value:0 x0,to:0 x70C748596E025b1eCDa02eBd55fE56aF383A9aF5 privateKey=Buffer(你的账户私钥,hex)var Tx=require(ethereumjs-tx)var transaction=new Tx(parameter)11234561125:发送交易:成功截图:0 x04相关参考https:/ serializedTx=transaction.serialize()web3.eth.sendSignedTransaction(0 x+serializedTx.toString(hex)341

版权所有:www.WDFXW.net 

鲁ICP备09066343号-25 

QQ: 200681278 或 335718200