truffle unbox react
pragma solidity ^0.4
.19;
contract ******storage
message private wordarr;
/***/
function
setword
(string s, string t)
public ));
}/**
*/function
getrandomword
(uint random)
public
view
returns
(uint, string, address, string) else}}
修改發布的指令碼。var ******storage = artifacts.require("./******storage.sol");
//var words = artifacts.require("words");
module.exports = function
(deployer) ;
執行truffle compile
進行合約的編譯。
獲取合約位址。這個部分主要是編寫前端的展示效果和與合約互動的邏輯,這一部分最難編寫,也最耗時間。
const contractaddress = "0x39e5196750dcddb1aaf6dda7d6e8dbb633482905"
// 合約位址(以太坊測試網路)
var ******storageinstance // 合約例項
// 初始化構造
constructor(props)
} // 獲取web3例項
componentwillmount() )
// instantiate contract once web3 provided.
this.instantiatecontract()
}).catch(() => )
} // 獲取合約例項
instantiatecontract() )
.then(result => )
.then(result => )
settimeout(() => )
}, 2000)
}else)
}this.randerword()
})})
} randerword() )
console.log("setinterval讀取", this.state.random)
******storageinstance.getrandomword(this.state.random)
.then(result => )
settimeout(() => )
}, 2000)}})
}, 10000)
} // 寫入區塊鏈
setword())
let timestamp = new
date().gettime()
******storageinstance.setword(this.state.input, string(timestamp), )
.then(result => )
settimeout(() => )
}, 1500)
}).catch(e => )
})} // 時間戳轉義
formattime(timestamp)
/** 小於10的數字前面加0 */
formatnumber(n)
}
使用npm start
啟動專案,瀏覽器的3000埠執行。
效果如下(一定要連線到ropoetn test network
網路才可以)。
ludis的博文
關於墨客的DAPP鎖倉開發
墨客共識社群提出鎖倉要求,根據各種討論,建議做多簽名錢包,原因主要是社群對於鎖倉規則沒有確定,爭論很大,但是對於資金處於某種邏輯下的共管沒有爭議。大體功能性需求如下 建立多簽名錢包 支援投票m n規則設定 支援通過初始設定投票人 支援現有投票人投票方式增加新投票人和踢掉投票人 支援使用者充值 支援投...
tvOS的開發初探
steve不幸離世已經過去很久了,但是人們一直翹首以盼著這款產品。就在昨天2015年9月9日,超過四個春秋的期盼,我們終於等來了這個禮物,雖然可能與steve對這款產品的願景和理想有所差距,但是革命的步伐已經堅實的邁出了第一步。我和其他教程團隊的成員已經開始深入研究tvos sdk,並且正在努力準備...
開發基於以太坊智慧型合約的DApp
梳理一下架構關係 web3.js與以太坊通訊是通過rpc的方式實現的。ganache cli模擬了乙個以太坊的測試節點並提供對外的rpc訪問方式 就是例子裡經常說的http localhost 7545或者http localhost 8545 同時在其中內建了m個以太坊帳號,用於測試。1 安裝no...