1. 程式人生 > >Fomo3D 原始碼解析及下載, 部署指南, truffle 套件, 含前後端

Fomo3D 原始碼解析及下載, 部署指南, truffle 套件, 含前後端

Fomo3D 原始碼下載, 部署指南

程式碼在 gayhub 上 : fomo3d_truffle , 以下是 README

說明

本專案通過reed 大佬的 fomo3d_clone 專案改造而成, 感謝 reed 大佬!!!

本地部署指南

部署合約:

一共部署了3個合約, 其中3個收款地址被砍掉(改成了部署者的地址), p3d 也砍掉了
3個合約 我偷懶沒有把合約地址寫死, 用的是後續的 set 方法, 所以如果 truffle migrate 最後那段報錯了, 可能沒有 set 成功, 需要用其他方式呼叫( truffle console, 或者 remix 等)
合約部署完, 如無報錯, 直接複製走 FoMo3Dlong 的地址就行了

npm install ganache-cli -g
ganache-cli -l 471238800 -g 1 # 開啟 testrpc 同時設定 gasLimit 和 gasPrice
truffle compile
truffle migrate --reset # 執行後, 複製 FoMo3Dlong: 後跟的地址
#直接輸出最終合約地址, 將不會列印編譯過程
truffle migrate --reset | grep 'FoMo3Dlong: 0x' | awk  '{ print $2 }'

推薦做法
truffle migrate –reset > migrate.log
cat migrate.log # 檢視有無錯誤, 如合約均部署成功,但最後報錯, 可能有幾個賦值方法沒有執行(我部署到 kovan 時就發生了這事,可以參考 migrations/2_deploy_fomo3d.js邏輯手動執行)
cat migrate.log | grep ‘FoMo3Dlong: 0x’ | awk ‘{ print $2 }’

部署前端:

前端沒有太多需要改的地方, 若使用英文版, 可參考下面命令列修改地址方式
若選擇 bundle-cn.js 這個中文版, 則自己找到要修改的地方, 手動修改也行的
順便說下 cn 裡面還是 kovan測試網路的配置, 如需使用可把 bundle.js 裡面的本地配置拷貝下

cd src/js
sed -i "" 's/{{address}}/0x00/g' bundle.js # 非 mac 去除 -i 後的 ""
cd ../../
npm install & npm run start

遊戲啟用(不啟用就處於 ICO 中? 不懂…)

剛想到一個不一定靠譜的簡單方式, 把 migrations 下那個 js 裡面加一個 activate 的方法呼叫

npm install remix-ide -g  # 安裝個本地的 remix-ide
remix-ide  #注意此時處於專案根目錄

OK, 瀏覽器訪問 remix-ide, 點選左上角第6個圖示( Connect to localhost ), 彈框繼續 connect

左邊多出 localhost, 點選 contracts 下的 FoMo3Dlong.sol 檔案, ctrl + s , 觸發編譯 , 下一步

點選右邊的上邊的 Run, 選擇 web3 provider, 如埠不變, 一路 next, ok, 往下看, 有個選擇 合約的 select, 選中 FoMo3Dlong, 然後在 輸入框中輸入 migrate 得到的合約地址, 然後點選 At Address

最後點下 合約的 activate 方法

合約原始碼淺度分析

主要是對原始碼所有合約整理歸類, 解釋下合約都有啥作用, 希望對剛接觸 fomo3d, 想學習 fomo3d 的有所幫助!