写在前面:
笔者环境:1-geth私链+ubuntu+挖矿,2-本地windows10;
用命令发币的方式更适合于线上服务器,毕竟使用linux服务器基本是命令行方式;
不需要安装solc等软件;
该篇文章不局限于发币,可以发布所有的智能合约。
PAGE ONE
——获取智能合约的WEB3DEPLOY、ABI
在网页版的solc编辑器输入智能合约代码(网址:http://remix.ethereum.org/),如下图:
粘贴好代码后,按Ctrl+s 开始执行编译,若为报错(ERROR),请点击“Details”按钮,如下图:
在弹出的窗口,找到ABI和WEB3DEPLOY,如下图所示:
点击旁边的文本图标复制到文本,且修改web3deploy中的变量,如下图:
PAGE TWO
——Geth 命令行发布智能合约
1.运行私链
2.开启挖矿
> miner.start()
3.解锁账户
> personal.unlockAccount("0x4817d8a57482659eacc2fe963b452a91b5b9406c")
4.粘贴web3deploy
var initialSupply = 1000000000000000 ;
var tokenName = "BBC" ;
var decimalUnits = 6 ;
var tokenSymbol = "BBC" ;
var bbcContract = web3.eth.contract([{"constant":true,"inputs":[],篇幅过长,省略...
gas: '4700000'
}, function (e, contract){
console.log(e, contract);
if (typeof contract.address !== 'undefined') {
console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
}
})
按回车后,会出现如下所示:
null [object Object]
undefined
> null [object Object]
Contract mined! address: 0x575f2ce10b0229bb40ec63de0e870509b3931962 transactionHash: 0xf35349e64fd5a5f1b75790669270b9625f04a8796664d3573c9120161ade8cc3
返回的这个地址:0x575f2ce10b0229bb40ec63de0e870509b3931962就是部署后智能合约的地址。
PAGE THREE
——调试、调用智能合约内的方法
1.创建合约对象
// abi PAGE ONE中复制的abi
var abi = [{"constant":true,笔者省略了,篇幅太大,影响阅读}];
var address="0x575f2ce10b0229bb40ec63de0e870509b3931962"; // 发布后,智能合约的地址
var demoContract=eth.contract(abi).at(address); // 创建合约对象
2.打印合约对象
> demoContract
{
abi: [{
constant: true,
inputs: [],
name: "name",
outputs: [{...}],
payable: false,
stateMutability: "view",
type: "function"
}, {
篇幅过长,省略..
}],
address: "0x575f2ce10b0229bb40ec63de0e870509b3931962",
省略部分...
decimals: function(),
name: function(),
owner: function(),
symbol: function(),
totalSupply: function(),
省略部分...
}
3.调用合约对象中的方法
> demoContract.name()
"BBC"
> demoContract.owner()
"0x4817d8a57482659eacc2fe963b452a91b5b9406c"
> demoContract.decimals()
6
> demoContract.totalSupply()
1000000000000000
大功告成。
如果搭建过程中遇到任何问题,请发送问题致邮件:[email protected],我会尽我所能帮您解答。
打赏(加密货币)
BTC地址:1MHAPXoydTMTXi9r5mHYp3kGFYkKGcpXf
ETH地址:0x8d345c08805c1e0d21f518bb301640e937b8c2c6
ADA地址:DdzFFzCqrhsqmBCy6zTcdy1bshH3p5LtfmssqvL8AUcPjf55q7LteaJtx7eztaayftSj3aKWS4qWqUPJVt3ZiPVmtoKHdRYrfMHDzwGn
EOS地址:0x8d345c08805c1e0d21f518bb301640e937b8c2c6