首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript web3js前端

Javascript web3js前端
EN

Stack Overflow用户
提问于 2018-11-07 21:29:56
回答 1查看 91关注 0票数 0

我目前正在编写一个SmartContract。到目前为止,我已经写好了这个合同:

pragma solidity ^0.4.24;

合同SmartContractEnergy {

代码语言:javascript
运行
复制
struct EnContract {
    uint price;
    uint amount;
    string energysource;
    address owner;
}

EnContract[] public encontracts;

mapping (uint => address) public contractToOwner;
mapping (address => uint) public ownerContractCount;

function _createContract(uint _price, uint _amount, string _energysource) internal {
    uint id = encontracts.push(EnContract(_price, _amount, _energysource, msg.sender)) - 1;
    contractToOwner[id] = msg.sender;
    ownerContractCount[msg.sender]++;
}

function createContract(uint _price, uint _amount, string _energysource) public {
    require(ownerContractCount[msg.sender] == 0);
    _createContract(_price, _amount, _energysource);
}
}

出于测试目的,我想要有一个html文件,它只是在本地区块链上创建一个协定(我正在使用Ganache进行开发)。这就是我的html现在的样子。我使用的是web3 1.0

代码语言:javascript
运行
复制
var Web3 = require('web3');
var web3 = new Web3('http://localhost:8545');

var abi = [myABI];
var contractAddress = 'myAddress';
var contract = new web3.eth.Contract(abi, contractAddress);
代码语言:javascript
运行
复制
<h3>Web3 — Usage Example</h3>
<div class=”tab-content”>
  <div role=”tabpanel” class=”tab-pane active” id=”blockchain”>
    <h3> 1. Set the value in the blockchain</h3>
    <div class=”form-group form-inline”>
      <input type=”text” class=”text form-control” value="price">
      <input type=”text” class=”text form-control” value="amount">
      <input type=”text” class=”text form-control” value="energysource">
      <button class=”set btn btn-primary”>Set Value</button>
    </div>
    <h3> 2. Get the current value</h3>
    <div class=”form-group”>
      <div>
        current value is <span class=”value”></span>
      </div>
      <button class=”get btn btn-primary”>Get Value</button>
    </div>
  </div>
</div>

那么,我现在如何将我的数据传输到区块链,并从区块链中读取数据?我想用Javascript来实现这个解决方案(如果可能的话,没有JQuery )。

EN

回答 1

Stack Overflow用户

发布于 2018-11-08 16:55:53

您已经导入了web3,所以第一件事就是部署您的合约。您的调用没有部署新的contract实例,它正在尝试加载现有的实例。在此之后,您只需使用您想要存储的参数调用您的方法。在web3的文档中有如何做到这一点的示例。看看this吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53190441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档