劍英的區塊鏈學習手記(二)

瘋光無線發表於2017-05-07

孫子說,知己知彼,百戰不殆。

我們是通過小蟻學習區塊鏈技術的。

開工之前,先了解一下小蟻的資料家族。

 

小蟻網站 https://www.antshares.org/

小蟻原始碼 https://github.com/AntShares

小蟻SDK原始碼 https://github.com/ANTSHARESSdk

比較集中的資料 https://github.com/AntShares/AntShares/wiki

小蟻論壇 http://www.antfans.org/

小蟻技術交流QQ群 451931692

 

 

加粗,紅字伺候,雖然看完資料以後,我表示

 

我是誰?我在哪兒?我要幹什麼?

 

已經失去了人生的意義,知己知彼一開始就遇到了阻力。

於是我帶著我的小白疑問,跑去探訪了分佈科技

By the way,如果要去探訪分佈科技,從江灣體育場出來,路過的大學路上有很多酒吧之類的,可以放置對科技公司感到無聊的女朋友和寵物之類的,不要問我為什麼知道。

又找CTO張錚文請教 low 到爆的問題,明顯感覺到對面投來不屑的眼神,好在我最大的特點就是臉皮自帶回血。

第一個問題

我問:我要在哪兒寫下我區塊鏈學習之旅的第一行程式碼?

這個問題沒有得到正面回覆,通過進一步溝通,我發現了問題所在,這個問題沒有答案。

小蟻形成了一個平臺,我們可以以很多的身份加入這個平臺,不同的身份就有不同的開始路徑。

 

有了一個大概的認知,我想可以問一些真正的問題了。

那一刻,我卓偉附體,狗仔隊的精神給了我力量。

我丟擲了一個非常無禮的yes or no 問題:我想開發一個用小蟻幣作為結算工具的賭博遊戲,有自己的UI,是不是我需要以AntSharesCore/AntSharesUI這個專案作為參考例子,自己寫一個。

這次,我得到了0.5個Yes,回覆說“可以”。

 

好,這解決了一個形式問題,我得到了一些關於小蟻的知識

開發使用小蟻幣結算的APP,可以用AntSharesCore/AntSharesUI為參考,自己寫一個。

 

但“可以”顯然還有潛臺詞,又經過各種友好的被我跑題、發散之後,我偶然問到了一個問題。

我問:AntShares上面那一堆開源專案,都是啥關係啊。

AntShares/AntShares 核心

AntShares/AntSharesCore 客戶端,一個winform的有UI,一個命令列的

AntShares/AntSharesApp 輕客戶端

AntShares/AntShares.VM 虛擬機器,這個我熟

AntShares/AntShares.SmartContract.Framework 智慧合約c#模板

這些資訊目前對於我來說,就是一堆符號。

我只用過錢包客戶端,有介面的那個

 

 

但我突然發現,沒有提到https://github.com/ANTSHARESSdk 這個東西

又問:SDK是幹嘛的?

 

 

一不小心,潛臺詞找到了。

原來 命令列客戶端內有乾坤

 

加上這個引數 /rpc,命令列客戶端自己開了個本地伺服器。

可以用小蟻的命令列客戶端當服務

然後自己開發一個客戶端,呼叫命令列客戶端提供的那些介面完成在小蟻區塊鏈上的操作。

SDK 就是幹這個用的。

說句實在話,在wiki上看到過這些內容

https://github.com/AntShares/AntShares/wiki/API%E5%8F%82%E8%80%83

但是沒有一堆雜七雜八的鋪墊和詢問,還真挺難把他們聯絡起來。

現在我可以確定,我要找的答案:

 

 

再見,回家。

解決了第一個問題,不虛此行。

 

 

先來總結一下,我的目標是做基於小蟻區塊鏈的應用,使用小蟻幣結算,我最主要的給使用者看的東西是一個獨立的APP,不是小蟻客戶端。

現在有兩條路:

一、研究小蟻的winform客戶端,抄之。

二、研究小蟻的命令列客戶端的http服務,調之。

當然選二呀,不是因為我的人生就是這麼二。

而是有兩點具體的考慮。

  1. hybird,js 已經爛大街了,現在hybird混合開發那麼流行。用二,直接就走上了流行的路線,流行不是問題,人口大呀,web前端程式設計師的領域。

而我也在webgl 的路上探索,這不是我就可以做個3D的遊戲了。

 

順便給自己的h5 3d引擎打廣告,需要合作請聯絡我。

 網頁遊戲用小蟻幣結算,聽起來不錯呀。

  2.錢包要同步賬簿的,一臺電腦開幾個太不環保了,當然是一臺電腦開一個錢包服務,其他應用去呼叫他啊,二就是這個模式。

你想啊,如果都用模式一,研究winform客戶端開發自己的。使用者用各種基於小蟻的應用,各自都在那同步賬簿,多不環保呀。

如果基於小蟻的應用多起來,官方肯定要做些環保方面的規範的,我們可以著眼於未來一點嘛。

動手動起來

第一步,安裝dotnet core

 

驗證方法,在命令列中輸入dotnet

 

 

第二步,下載小蟻命令列客戶端

 

安裝,不用,是綠色的,不過沒有釋出成exe,需要用dotnet core 來啟動。

 

先別啟動,要不然你一會兒還得刪除賬簿目錄。

因為我們要用測試網路

 

 

 注意config.json 和 protocol.json

他們各自都有兩個副本,用 testnet 的副本的內容,就是 測試網路

用Mainnet副本的內容 就是主網。

複製黏貼問題,略去不表。

然後啟動,慢慢同步

 

別忘了rpc引數

 

命令列怎麼用

啟動起來是個死迴圈,會顯示ant>

可以輸入help 看有那些命令列指令可以用。

Show state 是看同步情況的

 

不知道同步還有多久,可以看看當前高度,從antcha.in 看當前高度的方法是 onchain 的陳志同告訴我的,很實用。

 

比較常用的指令是

Create wallet 建立錢包

Open wallet 開啟錢包

List address 看賬戶

List asset 看資產

Send 資產種類 地址 數量 直接對地址轉賬

 

先讓他慢慢同步去,我先來寫下我的第一行程式碼,開啟瀏覽器,在地址行輸入

 

這條就是查詢區塊鏈高度的,通過http訪問會得到一個json的回覆

 

第一行程式碼是輸入在瀏覽器裡面的,你很失望吧。

 

不要著急,想想阿基米德

 

 

支點已經有了,一起戰吧。

相關文章