• 吃人一口,還人一斗 我思故我在

    字面上意思是說,受別人一點幫助,就要思考如何回報他更多。

    同義的:受人點滴,湧泉以報

    我覺得更值得更深入思考的是,

    當你輕易地要求別人的幫助時,你就得有心理準備,要返還十倍或更多。

    所以,當自己能做到,不輕易要求別人的幫忙。

    (說到這裡,小伙伴會覺得跟我以前說的”情感投入報酬”不一樣,情境不同暫不展開)

    這是台灣的俗語,用台語發音更有味道。

  • 瘋狂宇宙 我思故我在

    這個宇宙太瘋狂,大海掀翻了小池塘。

  • 區塊鏈是工具,要合理的使用;而非商品炒作。我思故我在

  • 賀賀郎,哇嗄哩供喂 我思故我在

    意思就是說,我是一個好好的、正常的人,我幹嘛跟你講話。

    一般用於朋友間小小辨論時,無法說服對方而使用。

    請不要企圖說服價值觀不在同個方向上的人或朋友。

  • Ethereum 塞車體驗 我思故我在
    下午四點,第一次體驗到 Eethereum 的塞車,一個 Uniswap 的交易等了一個鐘頭

    約1600 左右的交易,到 1702 收到通知完成

    不是說好的幾秒鐘,幾分鐘哦。造成這個情況的這是 TPS 限制嗎?還是真的有大量垃圾訊息或攻擊導致的?

  • 中心思想 我思故我在

    行為會改變、技術會改變,但中心思想不會變
    如同你會隨著環境而適應,但你的價值觀沒那麼容易改變

    中心思想、價值觀要改變,需要非常深刻的思考及體會,一般人在成長階段接受了某種價值觀,就不容易再改變了。

  • 現在想想,還好選了 ethereum 入門 我思故我在
    當時本來是想跟 Bruce 在公司的決定一樣,從 Fabric 開始。最近沒聯絡不知道發展得如何?

    還好選了 ethereum 入門

  • 成大事者不拘小節 魔鬼藏在細節裡 我思故我在

    兩句話看似相互矛盾,但其實使用的場景是不同的
    年輕人,把這兩句話串在一起,就定位成幹話

    真的這淺薄嗎?

  • 想像力比知識更重要?我思故我在

    你的問題在於書讀得太少,想得太多。

    如果是可比較的,那請您思考:想像力固然重要,是不是應該讓你的知識追上你的想像力?

  • 學士碩士博士的不同 我思故我在
    學士 學習知識 判斷問題(價值)
    碩士 運用知識 解決問題
    博士 創造知識 發現問題

Ethereum DApp 開發環境安裝及設定

以太坊 ethereum andy 1个月前 (08-24) 138次浏览 已收录 0个评论 扫描二维码

Ethereum DApp 開發環境安裝及設定

上次我們用了7行代碼,圓了一把 ICO 的美夢,可惜的是這個夢圓得太遲,不然也能狠狠撈一把。不過沒關係,正如我所說的:區塊鏈是工具,要合理的使用,而非商品炒作,我們把開發技術學起來,想撈多少有多少。現在 DeFi 正要起飛,學好 DApp 開發正是時候。

我們今天的目標,就是在本地的 win10 系統,設定好開發環境,在本地編譯部署,然後透過 console 交互。我們的開發環境如下:

  • Truffle
  • Ganache
  • VS code with solidity extended

為什麼要選用 Truffle 跟 Ganache 呢?

Truffle 是一個 Ethereum DApp 開發環境,包括測試框架、部署管道等。使用 Truffle ,我們可以快速的入門,進入到我們想要的業務開發階段。Ganache 是一個本地的 ethereum 模擬器,或叫仿真器。主要的功能,就是本地運行一個 ethereum 的模擬環境,不需要挖礦,不需要再安裝 ethereum 客戶端。然後有UI面板可以直接看到整個本地鏈的的狀態。
Truffle suite 有三個主角,Truffle 、Ganache 、Drizzle 。本篇不會提到的 Drizzle 是跟合約相關的,以後我們深入合約開發時,再來詳細說明。

前置作業

Truffle Suite 的工具是建立在 node.js 的環境上,所以在開始之前, 需要 node.js 8.9.4 以上環境,我建議是直接安裝最新的的 stable 版本。

開始安裝

安裝 truffle , npm install -g truffle ,如下圖

Ethereum DApp 開發環境安裝及設定

最後提示版本為 5.1.41

然後輸入 truffle version , 看版本

Ethereum DApp 開發環境安裝及設定

圖中出現錯誤,系統禁止本地運行腳本。
輸入 get-executionpolicy 看一下,出現 Restricted 。表示使用嚴格模式。

更改執行策略,set-executionpolicy remotesigned , 如下圖

Ethereum DApp 開發環境安裝及設定

輸入 y ,確定更改執行策略。
然後再輸入 truffle 看看是否還會出現錯誤,如果像上圖一樣,有顯示版本號及命令提示,就是可以執行了。

輸入 truffle version , 看看完整的版本號,如下圖

Ethereum DApp 開發環境安裝及設定

這裡顯示了Truffle 、solidity 、NodeJs 、Web3.js 的版本。我們先以預設的版本進行,不在這裡更新版本。

接下來,我們使用 truffle 提供的範例,來做本地環境的驗証,目的是看本地的環境有沒有正常運行。如下圖

Ethereum DApp 開發環境安裝及設定

建立 MetaCoin 目錄,進入後輸入 truffle unbox metacoin ,意思是下載 truffle 的 metacoin 範例。
最後這裡提示可以 Compile 編譯,Migrate部署,Test 測試。

我們用 test 試試,看有沒有出錯,truffle test ./test/TestMetaCoin.sol

Ethereum DApp 開發環境安裝及設定

沒有出錯,接下來編譯

truffle compile 編譯

Ethereum DApp 開發環境安裝及設定

我們注意到,寫入的目錄不一樣。
接下來,我們先看看 metacoin 範例有什麼東西

VSCode 及擴展安裝

我們先用 VS Code 打開剛剛的目錄 metacoin

Ethereum DApp 開發環境安裝及設定

如果你的 VSCode 沒有安裝好 solidity 的擴展,可以到 marketplace 下載,如下圖,輸入 ext:sol

Ethereum DApp 開發環境安裝及設定

依個人的喜好來安裝。只是擴展而已,不安裝也沒有關係。我安裝是的第一個 solidity 0.0.76 這個。

Ethereum DApp 開發環境安裝及設定

Ganache 安裝

我們打算部署在本機,方便查看及 debug , 所以安裝 truffle 。
Ganeche的安裝十分簡單, 官網 https://www.trufflesuite.com/ganache 下載後直接安裝。

Ethereum DApp 開發環境安裝及設定

運行之後如下圖,點選 QuickStart

這裡按下箭頭可以選擇要模擬什麼網路 Ethereum 或 corda 。我們選 ethreum 然後QuickStart。

Ethereum DApp 開發環境安裝及設定

打開後如下圖,注意到我們現在是在 Accounts 這個選項底下,可以看到錢包、助記詞,及其他資訊

Ethereum DApp 開發環境安裝及設定這裡我們特別注意到 RPC Server 跟 Network ID這兩欄,然後修改 truffle-config.js 的內容,如下圖

Ethereum DApp 開發環境安裝及設定

我們沒有指定 Network ID,使用了萬用符來代替。因為是本機,所以不指定也沒有什麼太大影響。除非有多個鏈同時存在,就要確定 Network ID。修改後儲存。

truffle migrate 開始部署,如下圖

Ethereum DApp 開發環境安裝及設定

這裡我們部署了三個合約,可以對照 Ganache ,包括交易 ID,地址等。

打開 Ganache ,切換到 Transactios 選項,並對照幾個合約之間的關係。

Ethereum DApp 開發環境安裝及設定

最後,我們使用 truffle console 來驗証是否部署正確以及使用合約 。

Ethereum DApp 開發環境安裝及設定

我們發現可以收發 metacoin , 然後帳號也能查詢餘額,合約內以太幣也能查到。

以上就完成初步的開發環境建立。我們會以這個集成環境,逐步的來開發包括智能合約及 Dapp 。


神隊友學長Andy , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Ethereum DApp 開發環境安裝及設定
喜欢 (2)
[320208045@qq.com]
分享 (0)
andy
关于作者:
中年大叔,打拼 like young students.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址