ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

区块链开发学习第五章:truffle-unbox使用

2021-11-11 22:31:29  阅读:212  来源: 互联网

标签:function return unbox value instance truffle 区块 MetaCoin


使用truffle模板能极大的提高我们学习区块链的进度以及了解智能合约

一、下载MetaCoin模板

truffle unbox metacoin

 

这里不知道是网络问题还是环境问题,搞了半天都没搞好,无论是K学上网还是设置hosts,都没用,最后只能通过git clone下载metacoin代码。

truffle官网地址:https://www.trufflesuite.com/boxes

git上下载truffle各模板地址:https://github.com/truffle-box

 

下载完之后同样需要修改truffle-config.js文件里面的私有链地址 

 

二、truffle test

 

 

三、truffle compile

这里要开启挖矿

 

 

 四、truffle console

 

五、控制台与合同进行交互

1、查看部署合约的账户metacoin余额

MetaCoin.deployed().then(function(instance){return instance.getBalance(web3.eth.accounts[0]);}).then(function(value){return value.toNumber()});

 

 这里出了问题,提示是地址不合法,我查了合约代码应该是没问题来着,结果把web3.eth.accounts[0]换成我们私有链的第一个默认账户地址就可以了

MetaCoin.deployed().then(function(instance){return instance.getBalance('0x229ea411d368c97b008c7bc19b01fdd813163701');}).then(function(value){return value.toNumber()});
10000

为什么这里会有10000余额呢,我看了合约代码原来是这样的:

 

我们前面创建了两个账户,现在查一下第二个账户:

MetaCoin.deployed().then(function(instance){return instance.getBalance('0xbb723ee82cb41a733f2289588697f0e199e29de5');}).then(function(value){return value.toNumber()});
0

合约里面getBalanceInEth方法写了一个metacoin值两个eth,所以调用下换算方法:

MetaCoin.deployed().then(function(instance){return instance.getBalanceInEth('0x229ea411d368c97b008c7bc19b01fdd813163701');}).then(function(value){return value.toNumber()});
20000

调用sendCoin转账方法(开启挖矿):

MetaCoin.deployed().then(function(instance){return instance.sendCoin('0xbb723ee82cb41a733f2289588697f0e199e29de5', 500);});
{ tx:
   '0x8716dab16ffb66b23604c476643105929cab24890914592f8eecd2ebb2f72020',
  receipt:
   { blockHash:
      '0xc94a716ba1463740bc85ceb7be6abaccd09d1c1f329642630a685a3b60785f7f',
     blockNumber: 546,
     contractAddress: null,
     cumulativeGasUsed: 51520,
     effectiveGasPrice: '0x3b9aca00',
     from: '0x229ea411d368c97b008c7bc19b01fdd813163701',
     gasUsed: 51520,
     logs: [ [Object] ],
     logsBloom:
      '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000100000000000000000000004000010000000000000000000000000000000000000000000000000000000000000000000000100000000104000000000000000000000000000000000004000000020000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100000',
     status: true,
     to: '0xaed8bef575a739c7239b4a140c789b2f41043279',
     transactionHash:
      '0x8716dab16ffb66b23604c476643105929cab24890914592f8eecd2ebb2f72020',
     transactionIndex: 0,
     type: '0x0',
     rawLogs: [ [Object] ] },
  logs:
   [ { address: '0xAED8BEf575A739C7239B4a140c789B2f41043279',
       blockNumber: 546,
       transactionHash:
        '0x8716dab16ffb66b23604c476643105929cab24890914592f8eecd2ebb2f72020',
       transactionIndex: 0,
       blockHash:
        '0xc94a716ba1463740bc85ceb7be6abaccd09d1c1f329642630a685a3b60785f7f',
       logIndex: 0,
       removed: false,
       id: 'log_4626e8e8',
       event: 'Transfer',
       args: [Result] } ] }

转账完查看两个账户余额:

##账户一
MetaCoin.deployed().then(function(instance){return instance.getBalance('0x229ea411d368c97b008c7bc19b01fdd813163701');}).then(function(value){return value.toNumber()});
9500

##账户二
MetaCoin.deployed().then(function(instance){return instance.getBalance('0xbb723ee82cb41a733f2289588697f0e199e29de5');}).then(function(value){return value.toNumber()});
500

 

标签:function,return,unbox,value,instance,truffle,区块,MetaCoin
来源: https://www.cnblogs.com/I-will-be-different/p/15542306.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有