Я сейчас пишу SmartContract. Пока я написал этот контракт:
Прагма солидность ^ 0,4.24;
контракт SmartContractEnergy {
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
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);
<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, если это возможно).