java开发区块链3

这篇博客介绍了如何在Java环境下开发以太坊区块链应用,包括编写简单的智能合约,利用browser-solidity在线编译合约,并指导如何在控制台复制并执行合约,强调此过程需在miner.start()状态下进行。
摘要由CSDN通过智能技术生成

合约部署

pragma solidity 0.4.19;  
contract hello {  
function main(uint a) constant returns (uint b)   
    {  
        uint result = a * 8;  
        return result;  
    }  
}  
  • 编译后
var helloContract = web3.eth.contract([{"constant":false,"inputs":[{"name":"a","type":"uint256"}],"name":"main","outputs":[{"name":"b","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]);
var hello = helloContract.new(
   {
     from: web3.eth.accounts[0], 
     data: '0x6060604052341561000f57600080fd5b60b68061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063ab3ae255146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b600080600883029050809150509190505600a165627a7a723058203f6d4f506de85c5287b58705788b98694a2b14b17fd6db0c376260b4a0b5a7a00029', 
     gas: '4700000'
   }, function (e, contract){
    console.log(e, contract);
    if (typeof contract.address !== 'undefined') {
         console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
    }
 })

将上面代码复制进控制台

此操作请在 miner.start() 情况下进行

调用智能合约

$ hello.main.call(100)
800
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值