DAPP開發初探 永存的留言

2021-08-31 13:35:33 字數 2083 閱讀 4134

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...