當 block chain 走入大眾眼眶,多數人不是被炒幣給攫住目光,就會馬上想到是不是要去買一把韭菜了。其實在主流的 block chain 應用中都有非常不錯的軟體藏在其中。Ethereum 是一個可以部署 Smart contract 應用的平台,在這個範圍裡,可以看見一個把 smart contract 變成 bytecode 的 solidity compiler 也有一個可以執行 bytecode 的 ethereum virtual machine。
而面對像這樣一個全新的大型專案,看到裡頭洋洋灑灑數千甚至數萬行程式碼,讓人很容易卻步,也不容易在短時間內熟悉內容。
在本次的議程中,我將分享自己是如何快速地從全新的專案中了解內部的架構設計:
- 以三個從完全不懂到理解架構與細節的 ethereum 專案為例: go-ethereum, cpp-ethereum, solidity compiler。
- 要如何對軟體架構進行分析,並做出 UML 來逐步拆解元件。
- 如何仔細地追蹤細節,並把重要的部分抽取出來講解給他人。