部署合约,私人日志

1、有能够运行的合约

2、如何部署到生产、

打开geth /home/zuolong/testNet/geth_truff 打开命令 geth --identity "newEth" --rpc --rpccorsdomain "*" --datadir "/home/zuolong/geth_truff/data/00" --port 30303 --rpcapi "db,eth,net,web3" --networkid "20170922" --bootnodes "enode://56bf95a92da10d55d853be0125399201f1caa6c74cb69f99911af755e88893c5fad6484235b406f781c1f3af978d0366d3fd886b68fe4b9c32652a4ab5416790@172.20.10.5:30303" console

查看区块数量 > eth.blockNumber

1327

编辑器

sudo ln -s /opt/sublime_text/sublime_text /usr/bin/subl

truffle的配置部署合约 truffle.js

// Allows us to use ES6 in our migrations and tests. require('babel-register') module.exports = { networks: { live: { host: "localhost", //本地地址,因为是在本机上建立的节点 port: 8545, //Ethereum的rpc监听的端口号,默认是8545 network_id: 201702 // 自定义网络号 } } }; 编写合约 Test.sol pragma solidity ^0.4.4; contract Test { function multiply(uint a) returns(uint d) { return a * 7; } } 2_deploy_contracts.js var Test = artifacts.require("./Test.sol"); module.exports = function(deployer) { deployer.deploy(Test); }; /build/contracts目录下打开Test.json 然后获取abi并且地址 { "contract_name": "Test", "abi": [--专用abi { "constant": false, "inputs": [ { "name": "a", "type": "uint256" } ], "name": "multiply", "outputs": [ { "name": "d", "type": "uint256" } ], "payable": false, "type": "function" } ], "unlinked_binary": "0x60606040523415600e57600080fd5b5b60978061001d6000396000f300606060405263ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c6888fa18114603c575b600080fd5b3415604657600080fd5b604f6004356061565b60405190815260200160405180910390f35b600781025b9190505600a165627a7a723058200ec9483d33cf2385ee4541aac868d6f3f7b6b1bca6c1d4fecf6d348b3b2ef18e0029", "networks": { "999": { "events": {}, "links": {}, "address": "0x712fa9552945e3c689a63fee835f3cd1cc98f04e",数据的地址 "updated_at": 1507795101956 } }, "schema_version": "0.0.5", "updated_at": 1507796737757 }

在使用的时候abi的压缩 在终端上解锁 personal.unlockAccount("0x4c00224faec439c08abe669bd2b15e3530a6e754", "111111", 10000)

部署合约 truffle migrate --network live

注意:在编译、部署之后,需要进行多次挖矿动作才能够在生成的build目录下的json文件中出现networks。且多次挖矿等待部署命令自动完成并退出才可以。

 

查看状态(此时需要挖矿,才能部署到私有连)

txpool.status { pending: 1, queued: 0 }

创建合约的实例 >abi = [{"constant":false,"inputs":[{"name":"a","type":"uint256"}],"name":"multiply","outputs":[{"name":"d","type":"uint256"}],"payable":false,"type":"function"}];

>> test=eth.contract(abi).at("0x734f1f002ced572647928d40e1ac4c00fa5d5b9c");

test.multiply.call(3) Ropsten

转载于:https://my.oschina.net/u/3688108/blog/1554479

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值