truffle方式智能合约交互MetaCoin案例

岸招锺俞
岸招锺俞 2018-05-17 10:36
1 32305
作者:梁雁明
著权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
运行环境:
基础目录:/Users/yves/ethereum/truffle
操作系统:Mac OS
<p>
1:新建目录mcoin并进入;
mkdir mcoin &amp;&amp; cd mcoin
2: 使用truffle unbox构建metacoin项目;
truffle unbox metacoin
3:编辑truffle.js文件,主要设置网络节点的地址,端口与网络编号,我本地用的是Ganache客户端支持,分别如图
module.exports= {    // See     // to customize your Truffle configuration!    networks:{        development: {            host: "127.0.0.1",            port:"7545",            network_id: "5777" //Match any network id        }    }};

4:在mcoin目录下,执行npm init形成node环境构建
npm init
5:添加依赖web3 truffle-contract,后package.json文件如下截图:
npm install <a>web3@^0.18.4–-save
npm install <a>truffle-contract@^3.0.5–-save
"dependencies": {  "truffle-contract": "^3.0.5",  "web3": "^0.18.4"}
7:编译部署
truffle compile
truffle migrate
8:编写index.js文件
<b>var Web3= require("web3"); //添加以太坊web3.js支持<b>var contract = require("truffle-contract"); //对node或浏览器端来说,更佳的以太坊合约抽象//本地Ganache节点支持<b>var provider = <b>new Web3.providers.HttpProvider("http://127.0.0.1:7545");//源MetaCoin合约<b>var SimpleNameRegistry = contract(require("./build/contracts/MetaCoin.json"));SimpleNameRegistry.setProvider(provider);//合约提供注册SimpleNameRegistry.setNetwork(5777);//rpcport//本地Ganache两账号<b>var account_one = "0x71D1d7371a618fA8Bb9B935Ada72994CD52Ad9d8"; // first address<b>var account_two = "0xB94cf76E109BEE4b798898aD28EA475AbcfB5308"; // another address//instance of metacoin<b>var meta;SimpleNameRegistry.deployed().then(<b>function(instance) {    meta = instance;    //send 10 metacoin from account_one to account_two    <b>returnmeta.sendCoin(account_two, 10,{from: account_one});}).then(<b>function(result){    //query balance of metacoin of account one    <b>returnmeta.getBalance.call(account_one,{from:account_one});}).then(reslut=&gt;{    console.info("balance of account_one:" + reslut); //info}).catch(<b>function(e) {    // There was an error! Handle it.    console.log(e);})
9:结果
文章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。
1条回应 最新 最早
璐予
沙发# 璐予 2018-05-17 11:05
随着人们对加密数字货币和区块链初创公司的投入越来越大,上周比特币价格再次创下了18000美元的记录。但尽管如此,区块链技术依然没有在很多大型项目上普及应用。
游客
登录后才可以回帖,登录 或者 注册