今日來介紹 solidity 裡的 contracts。 contract contract 其實是一個類似於 class 的結構。下面我們還看一下範例 //...
小明今天繼續完成用戶存提代幣的前端功能 存入代幣 HTML <div class="col-lg-6"> <di...
今天來介紹一個 Solidity 的另一個特別的東西 libraries。 下面來看看 library 的寫法範例 // SPDX-License-Ident...
今日來介紹 Mapping Types。 Mapping Types 它其實就是一個一般語言裡面的 hash table。它就是一個動態的陣列,key 裡面的東...
很快的地獄般的鐵人賽終於要結束了,今天就來聊聊這30天的學習心得。 其實一開始挑選這個題目時,也是無意間看到這個題目,雖然之前斷斷續續有走馬看花研究過幾次,但...
小明這週已經將大部分的智能合約功能實作與測試完成,但仍需搭配前端UI才能進行展示。故這幾天開始進行前端UI的實作,今天先完成了 Admin 管理者功能的前端功能...
本日來介紹一下 solidity 的控制流程。 學任何語言基本上都需要條件判斷式,那就稍微簡單介紹一下。 if else uint total = 2; if...
今天來介紹第二個案例。今天的案例就以拍賣為情境設定 情境 假設要制定一定拍賣場的合約,到底要怎麼定義呢?首先需要三個角色 拍賣人 委託人 買家 再來需要一...
今天開始到結束,要進入到實際 Dapp 的應用了,但在應用之前要先會安裝 metamask。 因為要能跟前面學的智能合約互動,就一定需要 metamask 。...
Preface 今天要做的是透過 Opensea 取得 ticket 的圖片、擁有者等資訊,並將它們顯示在頁面中。 How to fetch Data? 一般而...
花了幾天介紹 solidity 的基礎語法,接下來要開始嘗試寫一個智能合約看看,但是智能合約部署之前一定要先了解什麼是 Gas 到底什麼是 Gas ,在區塊鏈...
今天來聊聊我們的第三個案例。我們來做一個比大小的下注遊戲。 情境 需要有兩個角色。 GM 玩家 功能上則需要。 下注 (讓玩家選擇大 or 小) 開獎...
在完成了整個去中心化交易所的設計後,小明今天開始進行每個功能的實作,他首先進行管理功能的部分: Admin 管理功能 新增代幣新增 ERC20 代幣至交易所智...
在根據交易所需求設計了基本的功能介面後,小明今天進一步思考在智能合約中,如何儲存功能中所需要的資料。 首先智能合約中需要儲存,每個用戶透過存入或買賣,所擁有的...
小明今天繼續完成的是用戶取消下單的功能: User 用戶功能 取消下單 function cancelOrder(string symbolName, bo...
在研究了交易所的功能需求後,小明今天便開始進行智能合約的設計。因為是以 POC (Proof Of Concept)為目的,故只要完成重要功能的 MVP(Min...
我在 2018 年的時候參與鐵人賽,錄製了 Smart Contract 實戰教學。如今,兩年過去了 Solidity 也從 0.4.20 的版本升級到 0.7...
we3.js 是一個JavaScript的套裝library,允許開發者利用HTTP, IPC 或WebSocket與本地或遠程以太坊節點進行交互。常用於 Da...
小明今天繼續完成的是用戶檢視賣單交易帳簿的功能: User 用戶功能 檢視賣單交易帳簿 function getSellOrderBook(string s...
【DAY6】 - ERC721 的核心 Preface 前面雖然介紹了 ERC721 的所有權由來,也說明了 ERC721 協議的 function 有哪些,與...
Preface 我有提到自己比較喜歡以「project」為導向來學習新的語言或是各種知識,換句話說就是動手做增強自己的肌肉記憶,同時也訓練尋找解決方法的能力。...
今日來延續昨日沒有寫完的全域變數。 Error Handlin //裡面可以做一些條件判斷,如果為false,此次transcation會失敗,通常用於內部錯...
Preface 今天終於來到了設計使用者介面的部分(只有使用者使用的部分,之後驗證系統使用的部分會再做一次設計),但其實因為我的前端底子「幾乎可以說是新手」,所...
雖然昨天有做過Migrations的介紹了,但為了讓大家更加了解後面實作的內容,講了更詳細的部分 初始的遷移(Migrations)文件及部署規則 在運行 t...
現在讓我們編寫一些測試來確保智能合約被正確初始化。解釋一下為什麼在開發智能合約時測試如此重要。確保合約沒有錯誤 以太坊區塊鏈上的所有代碼都是不可變的;它不能...
讓我們繼續建構我們的智能合約吧! 列出我們想要在選舉中投票的所有候選人 在我們做的 smoke test 當中,創建了一種將單個候選人存儲到我們的智能合約的方法...
還記得我們前面創建的election.js嗎? 編輯election.js 需要合約並將其分配給一個變量,就像我們在遷移文件中所做的那樣。接下來,我們調用“合...
現在讓我們在瀏覽器中查看客戶端應用程序。首先,確保你已經像這樣遷移了你的合約: truffle migrate --reset 接下來,從命令行啟動您的開...
接下來讓我們嘗試打開控制台,獲取智能合約的一個實例,以便查看我們的部署是否成功 truffle console Election.deployed().t...
不能只調用不起作用的候選ID,為甚麼呢? candidate.id 我們將候選人定義為 struct,但事實上以太仿虛擬機並沒有真正意識到它 candid...