zoukankan      html  css  js  c++  java
  • 智能合约 helloworld

    windows 平台 所以直接使用Remix在线编译环境

    新建hello.sol文件 编辑如下

    Remix 右边侧栏 setting 选择合适的编译器版本 这里选择 0.4.19  

    文件中输入如下内容   注意版本匹配

    pragma  solidity ^0.4.19;

    contract hello {

    function sayHello() public returns (string ret)
    {
    return "Hello , world !";
    }
    }

    编译...

    复制 web3deploy 内容 这里注意 由于是js版本  我本地不支持var 直接复制到文本 干掉var变量定义

    然后在geth命令行 创建账户 

    personal.newAccount()  

    这里要求输入密码 

    然后解锁账户

    personal.unlockAccount(eth.accounts[0]);

    然后将上面复制好的WEB3DEPLOY 内容粘贴

    类似  

    simplestorageContract = web3.eth.contract([{"constant":true,"inputs":[],"name":"get","outputs":[{"name":"retVal","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]);

    simplestorage = simplestorageContract.new( { from: web3.eth.accounts[0], data: '0x6080604052348015600f57600080fd5b5060a08061001e6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636d4ce63c146044575b600080fd5b348015604f57600080fd5b506056606c565b6040518082815260200191505060405180910390f35b6000439050905600a165627a7a72305820e4f6d169a5bf00bf4117a17cd8c02f49d9c44fa18212a81b735ec793ea524efa0029', 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(1); 等待一秒 返回结果 

    Contract mined! address 

    则说明合约部署成功

    miner.stop();

    输入 

    simplestorage.get();

  • 相关阅读:
    RabbitMQ In JAVA 介绍及使用
    利用消息队列处理分布式事务
    SpringBoot入门篇--关于properties和yml两种配置文件的一些事情
    消息队列
    多线程-- ThreadLocal
    简单ORACLE分区表、分区索引
    OR 连接查询注意
    二分查找算法(JAVA)
    逻辑回归与决策树在分类上的一些区别
    从一个R语言案例学线性回归
  • 原文地址:https://www.cnblogs.com/rexzhao/p/8601911.html
Copyright © 2011-2022 走看看