Ipfs
如何通過 Embark 框架在 IPFS 中使用 set 和 get?
我正在使用 Embark 框架。我試圖在 IPFS 中儲存一個字元串值,然後使用雜湊檢索該字元串。
契約程式碼(simple_storage.sol):-
pragma solidity ^0.4.7; contract SimpleStorage { string public storedData; function SimpleStorage() { storedData = "hello world"; } function set(string x) { storedData = x; } function get() constant returns (string x) { return storedData; } }
Index.html 程式碼:-
<html> <head> <title>Embark - SimpleStorage Demo</title> <link rel="stylesheet" href="css/app.css"> <script src="js/app.js"></script> </head> <body class="container"> <h3>Embark - SimpleStorage Demo</h3> <h3> 1. Set the string in the blockchain</h3> <div class="form-group form-inline"> <input type="text" class="text form-control"> <button class="set btn btn-primary">Set String</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 String</button> </div> </body> </html>
Index.js 程式碼:-
EmbarkJS.Messages.setProvider('orbit',{server: 'localhost', port: '5001'}); $(document).ready(function() { $("button.set").click(function() { var value = $("input.text").val(); EmbarkJS.Storage.saveText(value).then(function(hash) { SimpleStorage.set(hash); }); }); $("button.get").click(function() { SimpleStorage.get().then(function(hash) { EmbarkJS.Storage.get(hash).then(function(content) { $(".value").html(content); }); }); }); });
我得到一個字元串作為輸入,它正確地返回字元串作為輸出。如何驗證儲存在軌道數據庫中的值?
我嘗試使用 ‘ipfs’ 而不是 ‘orbit’。但程式碼無法正常工作?有什麼問題?
看來你正在混淆
EmbarkJS.Storage
和EmbarkJS.Messages
。您應該配置儲存提供程序而不是消息之一:
EmbarkJS.Storage.setProvider('ipfs',{server: 'localhost', port: '5001'});