美文网首页
【区块链】介绍Browser-solidity使用

【区块链】介绍Browser-solidity使用

作者: 一个测试员的日常 | 来源:发表于2018-03-14 19:42 被阅读0次

Browser-solidity是在浏览器开发智能合约,在浏览器中直接开发、调试和编译。可以快速上手,不需要安装,非常方便。Browser-solidity地址:https://ethereum.github.io/browser-solidity

1.在Browser-solidity的左侧输入:

以下代码的功能是两个相加。

pragma solidity ^0.4.21;
contract Demo{
 function add (uint a , uint b) public pure returns (uint sum)  {
 uint result=a+b;
 return result;
 }
}

2.Compile

点击“Start to compile”进行代码编译,如下图所示:

点击“Details”按钮会弹出一个框,里面有很多属性,这里主要对WEB3DEPLOY介绍,可以WEB3DEPLOY代码部署到Geth网络上执行这些合约,稍后会讲解如果部署到Geth。

var demoContract = web3.eth.contract([{"constant":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"add","outputs":[{"name":"sum","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"}]);
var demo = demoContract.new(
 {
 from: web3.eth.accounts[0], 
 data: '0x6060604052341561000f57600080fd5b60bf8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063771602f7146044575b600080fd5b3415604e57600080fd5b606b60048080359060200190919080359060200190919050506081565b6040518082815260200191505060405180910390f35b600080828401905080915050929150505600a165627a7a723058209e5c6bc728b5b8f4f8830fd25dd27e856044c04f0582d7b922c52a4779e7ca040029', 
 gas: '4700000'
 }, function (e, contract){
 console.log(e, contract);
 if (typeof contract.address !== 'undefined') {
 console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
 }
 })

第一行是定义demoContract接口,第二行是实例化demoContract。

3.Run

点击右上方"Run"按钮,在点击“Create”按钮,会在内存中创建智能合约的实例。将WEB3DEPLOY部署在虚拟内存中。如下图所示:

点击“Details”展示以下信息:

4.把合约部署到Geth

部署合约时,要把以太坊的私有链必须处在挖矿进行的状态,否则部署的合约不生效。部署合约需要消耗gas,也就是以太币。由于保护机制,不解锁账户不允许转出以太币。

1.解锁账户

acct0=eth.accounts[0]
personal.unlockAccount(acct0)

2. 把合约代码部署到Geth

把文中的WEB3DEPLOY代码复制Geth命令行。在Mac上使用Geth创建以太坊私有链详见文章:Geth创建以太坊私有链

如果看过Contract mined!,合约被部署到区块了。

调用合约命令:

demo.add.call(1,8)
demo.add.call(10,43)

demo是实例名称,add是自定义函数。这样运行和执行合约,是不是很容易呢?

相关文章

网友评论

      本文标题:【区块链】介绍Browser-solidity使用

      本文链接:https://www.haomeiwen.com/subject/gzywfftx.html