工具:Truffle;Ganache;MetaMask
環(huán)境:Windows10
新建一個文件夾,命名為存儲,在文件夾下執(zhí)行如下命令:(相當(dāng)于是下載一個webpack模板)
truffle unbox webpack
接著你會看到以下內(nèi)容已經(jīng)下載好了:
與單純的執(zhí)行Truffle初始化操作不同,在這里多了個APP文件夾,里面主要是前端代碼(src中):
可以先看一下什么都不改的情況下這個模板是什么樣子的:
然后發(fā)現(xiàn)報錯了哈哈哈哈哈啊哈哈:(稍微改一下truffle-config中的內(nèi)容)
?連接Ganache與Meta Mask,在migrate之后在進入App文件夾,執(zhí)行:
npm run dev
接著打開瀏覽器,進入?http://localhost:8080/然后就會看到:
自帶的合約就是鑄幣合約,就不演示了。
接下來嘗試進行實現(xiàn)鏈上存儲功能。?
首先在contracts文件夾下新建合約文件storage_.sol文章來源:http://www.zghlxwxcb.cn/news/detail-435683.html
內(nèi)容如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-435683.html
pragma solidity >=0.4.21 <=0.9.0;
contract storage_ {
//數(shù)據(jù)結(jié)構(gòu)
struct Item {
string what;//數(shù)據(jù)
address who;//存數(shù)據(jù)的人(賬戶地址)
uint when ;//時間
}
//記錄所有的數(shù)據(jù)
Item[] private allWords;
//將數(shù)據(jù)存儲在區(qū)塊鏈上
function save(string memory s, uint t) public {
//每增加一條,就push到結(jié)構(gòu)體中
allWords.push(Item({
what: s,
who: msg.sender,
when: t
}));
}
//查詢當(dāng)前數(shù)據(jù)的總條數(shù)
function getSize() public view returns (uint){
return allWords.length;
}
//根據(jù)編號查詢數(shù)據(jù)的具體內(nèi)容
//random為編號
function getRandom(uint random) public view returns (string memory, address, uint) {
if(allWords.length==0){
return ("", msg.sender, 0);
}else{
Item storage result = allWords[random];
到了這里,關(guān)于以太坊實現(xiàn)簡單的數(shù)據(jù)鏈上存儲的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!