首页 > 作文

760d

更新时间:2023-03-20 14:58:41 阅读: 评论:0

曹刿论战注释-红包手工

760d
2023年3月20日发(作者:幼儿咳嗽)

实现区块链,以太坊区块链使⽤web3开发⾃⼰第⼀个

DApp

摘要:在学习了最基础的⼀些以太坊知秋天的怀念答案 识以及开发框架搭建完成之后,可以尝试开发⾃⼰的第⼀个DApp,此处使⽤Truffle开发框

架,Remix编译环境,Genache测试客户端,具体操作如下

在学习了最基础的⼀些以太坊知识以及开发框架搭建完成之后,可以尝试开发⾃⼰的第⼀个DApp,此处使⽤Truffle开发框架,Remix编译

环境,Genache测试客户端,具体操作如下。

此处参照MetaCoin创建⾃⼰的模拟转账Dapp名称为RuoliCoin

1、创建⼯作⽬录

创建RuoliCoin⽬录,在此⽬录下打开命令⾏执⾏Truffle初始化命令,如下:truffleunboxwebpack

即可创建基础Truffle框架。

2、创建Solidity智能合约⽂件

在RuoliCoin/contracts⽬录下删除原有的、两个⽂件,新建⽂件,使⽤Web版本的Remix

打开此⽂件,进⾏智能合约的编写操作,最后编写好的智能合约内容如下:pragmasolidity^0.4.23;

contractRuoliCoin{

mapping(address=>uint)balances;eventTransfer(addressindexed_from,addressindexed_to,uint256_value);constructor()

balances[]=10000;

}functionndCoin(addressreceiver,uintamount)publicreturns(bools燃香 ufficient){if(balances[]

balances[]-=amount;

balances[receiver]+=amount;emitTransfer(,receiver,amount);returntrue;

}functiongetBalance(addressaddr)publicviewreturns(uint){returnbalances[addr];

}

}

3、部署⾄测试环境

修改⽂件,指定本地RCPServer地址(启动Ganache后主界⾯有显⽰),内容如下:s={

networks:{

development:{

host:'localhost',

port:'7545',

network_id:'*'//Matchanynetworkid

}

}

};

migrations⽬录下1_initial_、2_deploy_两个⽂件⾮常重要切勿删除,在此⽬录下

将2_deploy_进⾏修改内容如下:

varRuoliCoin=e("./");s=function(deployer){

(RuoliCoin);

};

在RuoliCoin⽬录下使⽤命令⾏编译并部署智能合约⽂件,如下:PSC:WorkspaceRuoli-CodeTruffleRuoliCoin>trufflecompile

PSC:WorkspaceRuoli-CodeTruffleRuoliCoin>truffledeploy

Usingnetwork'development'.

Runningmigration:1_initial_

<

...0x73e55a0f780c6780039abc3feb8b5e96e441668e8ab55579e51db

Migrations:

...

Runningmigration:2_deploy_

<

...0xd4c85531d5d83c61f79485c43e6e4146d51b909c8b73bf5d88b60aa990cf1d08

RuoliCoin:

...

PSC:WorkspaceRuoli-CodeTruffleRuoliCoin>

此时查看Ganache界⾯中第⼀个账户的ETH余额已减少,说明部署成功。

4、编写页⾯⽂件

在app⽬录下删除所有⽂件,新建、javascripts/两个⽂件,⽂件内容如下:

如下:html>

RuoliCoin-TruffleDemo

转账

重置

余额查询

javascripts/内容如下://导⼊CSS//import"../stylesheets/";//导⼊web3和truffle-contract库

import{defaultasWeb3}from'web3';import{defaultascontract}挨挨挤挤 from'truffle-contract'//导⼊Hello合约的ABI⽂件

importRuoliCoin_artifactsfrom'../../build/contracts/'//获取Hello合约对象

varRuoliCoinContract=contract(RuoliCoin_artifacts);varruoliCoinInstance=null;varaccounts;varaccount;={

init:function(){//设置web3连接文静的近义词

vider(tProvider);//Getthein南京城 itialaccountbalancesoitcanbedisplayed.

ounts(function(err,accs){if(err!=null){

alert("Therewasanerrorfetchingyouraccounts.");return;

}if(==0){

alert("Couldn'tgetanyaccounts!MakesureyourEthereumclientisconfiguredcorrectly.");r七夕民俗 eturn;

}

accounts=accs;

account=accounts[0];

});

//instance为Hello合约部署实例

ed().then(function(instance){

ruoliCoinInstance=instance;varevent=er();

(function(error,result){

alert(error);(result);

});

}).catch(function(e){(e,null);

});

},//封装合约中的say()⽅法调⽤过程,供javascript调⽤

transfer:function(transferAddr,amount,callback){//调⽤Hello合约中的say()⽅法,并传⼊参数name

in(transferAddr,amount,{from:account}).then(function(result){//将返回结果传⼊回调函数

callback(null,result);

});

},

getBalance:function(balanceAddr,callback){//调⽤Hello合约中的say()⽅法,并传⼊参数name

(balanceAddr,{from:account}).then(function(result){//将返回结果传⼊回调函数

callback(null,result);

});

}

3=newWeb3(ovider("127.0.0.1:7545"));

();

});

运⾏界⾯如下:

5、运⾏与测试

在RuoliCoin根⽬录执⾏启动命令npmrundev,如下:PSC:WorkspaceRuoli-CodeTruffleMetacoin>npmrundev

>truffle-init-webpack@0.0.2devC:WorkspaceRuoli-CodeTruffleMetacoin

>webpack-dev-rver

AstSizeChunksChunkNames

1.68MB0[emitted][big]main

925bytes[emitted]

chunk{0}(main)1.66MB[ent除夕诗句大全 ry][rendered]

[71]./app/javascripts/3.64kB{0}[built]

[73]./build/contracts/47.8肺大泡形成的原因 kB{0}[built]

[111].不由自主造句 /~/loglevel/lib/7.86kB{0}[built]

[117]./~/querystring-es3/127bytes{0}[built]

[119]./~/strip-ansi/161bytes{0}[built]

[122]./app/stylesheets/905bytes{0}[built]

[163]./~/truffle-contract/2.64kB{0}[built]

[197]./~/url/23.3kB{0}[built]

[199]./~/web3/193bytes{0}[built]

[233](webpack)-dev-rver/client/3.67kB{0}[built]

[234]典故成语故事 (webpack)-dev-rver/client/1.08kB{0}[built]

[235](webpack)/hotnonrecursive^.log$160bytes{0}[built]

[236](webpack)/hot/77bytes{0}[built]

+223hiddenmoduleswebpack:Compiledsuccessfully.

即可访问到页⾯,输⼊转⼊地址和⾦额即可进⾏代币转账操作,输⼊查询余额地址即可进⾏查询余额操作。

本文发布于:2023-03-20 14:58:39,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/3e6f885db31451847f686cb6b404cb3d.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:760d.doc

本文 PDF 下载地址:760d.pdf

下一篇:返回列表
标签:760d
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图