1. 程式人生 > >吃餃子不如擼程式碼!今年冬至 workshop 乾貨都在這了

吃餃子不如擼程式碼!今年冬至 workshop 乾貨都在這了

2018年的冬至,除了傳統的吃餃子,作為開發者,我們還有什麼特別的活動呢?

 

當然有啦!12月22日,中國專業IT社群CSDN在中關村創業大街為廣大開發者帶來了一場精彩絕倫的區塊鏈實戰開發Workshop,本次活動作為CSDN Blockchain Workshop第一期,以“零基礎實戰智慧合約開發”為主題,邀請北京大學軟體與微電子學院講師孫惠平、bCamp區塊鏈技術合夥人加速營發起人王亮、NULS發起人&技術研究院與技術社群負責人張星共同就智慧合約的發展與挑戰、區塊鏈開發者的思考、智慧合約實戰開發等話題為大家帶來精彩分享。

 

同時張星還為大家實戰演練了如何在底層公鏈上開發一個自己的智慧合約,並指導現場觀眾進行學習和操作,孫惠平老師與王亮老師全程為大家耐心指導,答疑解惑。

所謂冬至白晝最短,而一下午的時間對於所有人來說尤其珍貴!活動不到下午1點就有大批學員紛紛提前到場,給北方寒冷的冬季增添了分外的暖意,由於本系列Workshop有一定技術門檻,前期招募過程中會經過初步篩選,但也攔不住熱愛技術、熱愛學習的小夥伴報名前來,不大的場地很快就被擠得滿滿當當。

 

通過一下午的學習,在場學員基本掌握了智慧合約的環境搭建、部署、開發等流程與要點。活動結束後,我們抽取了5位幸運學員贏得了額外的小福利,還為每位完成作品的小夥伴頒發了帶簽名與學時的結業證書,讓大家一步一個腳印,激勵你一路前行!

 

下面,一起來回顧本期活動都有哪些精彩內容吧?

 

王亮:區塊鏈開發者,多學科交叉能力典範

作為今天分享的第一位嘉賓,bCamp區塊鏈技術合夥人加速營發起人王亮,從正在被區塊鏈改變的專案分析入手,分析一個有價值的區塊鏈專案的相關特質,得出任何一個要具備長期價值的專案的幾個必要特質:一,專案必須是建立在發現痛點的基礎上,並且這個痛點要與區塊鏈的特性有較強關聯,即應用區塊鏈能夠從某種程度上成為解決問題的關鍵環節;二,區塊鏈的應用,應該對原有業務場景做降低成本或增加價值的改變,而且這個改變應該是較大的,而不是微小的;三,專案的應用要適合當前生產、生活場景,應該有著數量較多、角色多樣的潛在人群,而不能是虛構的、假設的,不能是極少量人群或極簡單角色。

 

另外,王亮表示,區塊鏈還處於發展的幼年期,如何從小眾技術極客或是開發者的自嗨,稍廣些的幣圈人士的擊鼓傳花,發展到真正創造價值、改造世界,脫虛務實、找到合理的應用落地是其必經之路。

在此次演講中,作為十二年資訊科技及資訊保安諮詢培訓老兵的王亮,更多地站在開發者的角度,為廣大想了解區塊鏈技術、想轉型區塊鏈開發的觀眾(或小白)給出了客觀的分析與建議。情懷真摯,建議中肯。

 

孫惠平:智慧合約的發展與挑戰

第二位分析的嘉賓是北京大學軟體與微電子學院資訊保安系講師孫惠平老師,孫老師研究方向為區塊鏈、智慧風控、資訊保安,並於2018年2月開始在北京大學為研究生開設“區塊鏈”課程,他也是早批在高校進行區塊鏈技術授課的老師。此次Workshop也是非常榮幸地能請到孫惠平老師來為大家做精彩的分享和技術指導。

 

孫老師首先為大家介紹了智慧合約的概念、結構、發展等基本內容,並通過形象的比喻讓大家更好地理解吸收。其次,孫老師講解了智慧合約與區塊鏈的關係,從參與方認證、合約協商、狀態設定、編碼合約、合約釋出、合約上鍊、合約執行、合約更新等角度進行了詳細分析。

關於智慧合約有哪些優點,孫老師從安全、確定、監管、經濟、效率、標準6個角度進行了詳解。他提到,傳統合約需要大量文書、嚴重依賴第三方來執行,而且執行不力的話需要仲裁機構與司法機構介入,效率和安全性都相對低下。而智慧合約則完全顛覆了傳統的合約運作形式,它實現了完全數字化,且可以自動執行、程式碼定於規則。

 

孫老師介紹道,智慧合約通常需要以下執行步驟:首先由交易各方確定合約條款,再通過編碼將合約編寫成程式碼,並將合約程式碼儲存在區塊鏈上,最後合約條款滿足時智慧合約自動執行。

 

最後,孫老師還分享了智慧合約在自動保險、國際貿易、供應鏈管理的應用案例,並分析了其面臨的操作風險、技術風險、安全、監管四個方面的挑戰。

 

重頭戲:一起擼碼,實踐開發

 

張星,如何用Java開發智慧合約

最後一位分享及實戰指導嘉賓是NULS發起人&技術研究院與技術社群負責人張星,他通過2個小時的講解+指導開發,現場帶大家從零開始,瞭解並掌握智慧合約環境搭建、部署、開發等重要環節,還與大家分享了智慧合約的開發陷阱與技巧。

 

首先,張星跟大家講解了智慧合約的基本知識,讓大家在實際開發之前做好知識的鋪墊,他詳細介紹了智慧合約的意義,開發所需完備的測試環境及文件以及智慧合約的結構。

 

關於智慧合約的建立流程,張星解釋道,要建立智慧合約,需要經過編寫智慧合約,編譯成位元組碼,部署到區塊鏈等過程,呼叫智慧合約則是發起一筆指向智慧合約地址的交易,智慧合約程式碼分散式地執行在網路中每個節點的虛擬機器中。開發者可以通過任何節點向區塊鏈部署、呼叫智慧合約,更常見的做法是自己部署一個節點。

其次,張星還為現場學員介紹了SDK的關鍵字、禁用關鍵字、類、註解等知識點,並分析了智慧合約常見誤區與風險。他提到,型別溢位是很嚴重的問題和容易犯的錯誤,並提醒大家在開發過程中一定要對“溢位”產生敬畏,同時,可控隨機數也是較容易產生錯誤之處。

 

關於重入攻擊,張星介紹了以太坊上迴圈呼叫的經典案例,在給智慧合約轉賬的時候會觸發智慧合約的fallback函式,若收款的智慧合約在fallback函式中再次呼叫對方的withdraw函式的話,那將會產生一個迴圈呼叫。另外,還有不可控狀態(同一個區塊呼叫相同合約的兩個交易順序不可預測)、遍歷、遞迴等問題。

在講解基礎知識之後,張星來到臺下,跟學員互動交流起來,並指導現場開發有疑問的同學。在經過數小時的實操之後,大約30位學員完成了自己的智慧合約開發,讓三位講師,特別是張星老師格外欣喜和滿足,總算無愧於近日熬夜加班為大家準備了!

原諒小編匱乏的語言無法形容活動的精彩!

 

接下來,簡單粗暴些,讓我們看看第一期workshop的精彩花絮吧!

大咖對話,現場討論

嚴陣以待,實戰開發

聚精會神,乾貨滿滿

小哥哥coding的背影很帥

難得一枚程式媛

 

大咖手把手指導

證書籤名中……

發表下獲獎感言唄……

證書,我也有!

大家辛苦啦!耶! 

 

好啦!精彩花絮暫時分享到這裡,想了解更多活動詳情,歡迎持續關注“區塊鏈大本營”哦。我們會為想學習區塊鏈技術的小夥伴定期舉辦workshop!提前透露,下一期1月5號見,更過癮的活動等著你!

 

本期演講PPT下載地址:https://pan.baidu.com/s/1yE1mLr7P4aUOOthY8-gtig

提取碼: 47z7 

 

推薦閱讀: