FoMo3D

工具安裝及啟動(dòng)

ganache-cli

npm install -g ganache-cli

這里有個(gè)屬性很重要allowUnlimitedContractSize(Allows unlimited contract sizes while debugging)

ganache-cli -l 20000000000 --allowUnlimitedContractSize

remix(建議用remix-ide)

npm install -g remix-ide
remix-ide

合約地址

FoMo3DWorld(精簡版)

FoMo3DWorld:
https://etherscan.io/address/0xf1ae594cefee0bf519f227f3262ee2a851b14b9a#code

PlayerBook:
https://etherscan.io/address/0x789C537cE585595596D3905f401235f5A85B11d7#code

FoMo3Dlong(原版)

https://etherscan.io/address/0xa62142888aba8370742be823c1782d17a0389da1#code

為了方便,筆者這里使用精簡版(原版需要進(jìn)行合約拆分以及閉源合約的實(shí)現(xiàn))

合約編譯和部署

remix-ide配置

  1. 打開remix-ide, 勾選Compile下的Autocompile
  2. 將Run一欄下的Environment設(shè)置為Injected Web3(配合metamask使用)

拷貝合約

合約部署

  1. 首先部署PlayerBook合約
  2. 將FoMo3DWorld中的PlayerBookInterface的合約地址替換為PlayerBook合約地址
  3. 部署FoMo3DWorld合約

游戲激活

  1. 首先調(diào)用PlayerBook合約下的addGame方法,形如:
{
    "address _gameAddress": "3b2970ebeF19d241965744115396ca01EeA811da",
    "string _gameNameStr": "f3dw"
}

==注意==

_gameAddress不能以0x開頭,所以這里改用去掉0x的FoMo3dWorld合約地址字符串

調(diào)用的時(shí)候適度增加gas可以提高成功率喲.

  1. 激活合約

調(diào)用FoMo3DWorld的active方法

到這里我們的合約就部署完成了

前端頁面

  1. 直接ctrl+s下載原版頁面
  2. 替換合約地址
  3. 修改provider地址

項(xiàng)目啟動(dòng)

直接npm run dev

常見問題及解答

  1. out of gas 、Exceeds block gas limit和oversized data
這是由于合約太大,建議拆解合約、設(shè)置optimize(測試網(wǎng)的話,比如ganache-cli 可以設(shè)置allowUnlimitedContractSize屬性)
  1. remix調(diào)試合約,經(jīng)常報(bào)錯(cuò)revert(特別是這個(gè)引用外部合約的合約,debugger難以定位準(zhǔn)確)
這種情況建立將Remix-Run-Environment設(shè)置為JavaScript vm(相信我,這絕對是個(gè)調(diào)試神器)

完整項(xiàng)目地址:https://github.com/Randyshu2018/fomo3d

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容