BitShares 是區塊鏈技術三大神之一的 Daniel Larimer 於2014年創立的開源區塊鏈,中文名稱為比特股,核心代幣叫做BTS,是世上首個採用DPOS架構的區塊鏈平台。
除了公鏈的應用外,這條鏈也適合企業用,也就是一般所稱的私鏈(Private Chain)。我個人認為,BitShares在技術上確實有它的一套,企業可以放心拿來作為區塊鏈底層的平台,然後開發上面的應用。不管是點數交易,發幣,錢包,甚至NFT,都可以找到相關的實作API。唯一的問題是,這個鏈的文件實在寫的太差了,不僅分散各處,而且經常是不知所云,再加上區塊鏈天生的技術門檻,結果自然就是把有志者嚇退回頭採用傳統開發方式。
如果你是在這樣的處境,那麼這篇整理也許可以幫到你一點小忙。
零,BitShares Repositories
https://github.com/bitshares – 這裡是BitShares官方所有資源的集中地,包含主程式,工具,錢包,文件,和不少曾經開發但荒廢的東西,請務必要花點時間瀏覽看看。
至於https://bitshares.org/,這應該算是BitShares的官方網站吧,也可以看看。
一,技術文件
官方技術文件有幾個地方:
- https://how.bitshares.works/en/master/ – 這算是BitShares官方的文件中心,比較是一般性的基礎文件,如果你是初學者,建議要在這裡掙扎一段時間,確定你對於區塊鏈的世界有一定的了解,才可能進行後續的架設與開發。
- https://dev.bitshares.works/ – 這也是官方的文件中心,但是偏進階應用與開發,使用最頻繁的就是API (https://dev.bitshares.works/en/master/api/index_api.html),BitShares很怪異的提供了兩套的API,一套在節點主程式witness_node,一套在命令列錢包cli_wallet,兩套API顯然完全是獨立開發的,彼此毫無關聯,連思考模式都不一樣,讓人非常痛苦。
- https://github.com/bitshares/bitshares-core/wiki – 這是BitShares主要的wiki,有一些文章可以參考。
- https://docs.bitshares.build/ – 這是另一個公司提供的相關文件,有些蠻有參考價值,例如以下的白皮書。
- https://docs.bitshares.build/docs/get-started/bitshares-whitepaper/ – 這是非官方的BitShares白皮書,簡單講就是基本的架構,功能,特色說明,我個人認為,BitShares最大的特點是DPOS和account概念,另外dynamic permission的設計也相當的令人佩服。
- BITSHARES 2.0: GENERAL OVERVIEW – 這比較像是官方的白皮書,是pdf格式,BitShares 2.0與1.0有很大的差異,應該說到了2.0整個架構和想法才算是底定,現在已經是6.0了,但架構上沒有太大的變動。
二,Libraries
(我個人只用過nodejs和python的套件,可以表達一些心得,其餘的僅供參考。)
BitShares雖然集合了不少先進的技術思維和實作品質,但除了文件整理得很差勁,連開發需要的套件也很糟糕,去年起在官方討論區有想要利用Worker機制重新整理這些套件工具,讓參與的人實際可以拿到獎勵,但也不知目前進度。
- C++ – 這是官方的Library,也就是BitShares的核心組件。
- Go
- bitshares-go – BitShares golang client
- go-bitshares – API for BitShares – supports websocket RPC & Wallet functions
- Java
- graphenej – Graphene Java lib for mobile app Developers.
- bitshares-kit – A Kotlin/JVM based library for BitShares blockchain.
- Javascript
- bitsharesjs – used by reference wallet.
- btsdex – alternative javascript library.
- Python
- python-bitshares – full featured python library.
- Uptick – command line tool.
- PHP
- bitshares-php – A php library, for reading bitshares blockchain
由於目前主流區塊鏈的架構都是走RPC與之互通,因此不論用哪個程式語言開發區塊鏈應用,底下其實都是TCP。BitShares提供HTTP和WebSocket兩種Transport Protocol,也可以找到所有Operation的JSON格式,如果你和我一樣用這些套件綁手綁腳,也可以自己寫。
三,社群
- https://bitsharestalk.org/ – 這是官方的討論區,比較有熱度的是General和中文版塊,沒錯,這條鏈目前的主要開發者都是中國人,所討論的主題也偏重在公鏈的項目和治理,有興趣的人可以從中窺探若干這條鏈未來的發展。不知道是故意的還是這些人太聰明,我至今無法完成註冊,總是卡在什麼愚蠢的益智問題(Captcha)上。
- Hive – Hive是一個用區塊鏈技術開發的Blog平台,透過去中心化的獎勵機制,讓平台,作者,以及閱讀者三方可以形成一個自給自足的生態圈,當然,BitShares的架構與概念,在這樣的平台佔有很重要的位置。
- Steem – Steem和Hive一樣,也是一個以區塊鏈技術建立的Blog平台,其創立者就是BitShares的作者Daniel Larimer本人,不過當初建立去中心化社群平台的理想,很快就變成作者和讀者共謀套利的溫床,之後這樣的平台也就日漸沈寂了。
- Telegram – 不少區塊鏈的開發者都是典型的自由主義者,因此主流的中心化訊息平台他們是不用的,反倒是Telegram這種強調加密與匿名性的服務比較被接受,BitShares在Telgram上有蠻多群組可以加入,例如:
- BitShares DAC – General discussions.
- BitShares Group – Another group for general discussions.
- BitShares News – BitShares News channel
- BitShares Mobile – Focus on BitShares mobile app.
- BitShares Development – For developers.
- BitShares Node Admins – Provides server admins & interested parties with tech support.
- BitShares NFTs – NFT (Non-fungible tokens) discussions.
- BitShares Liquidity Pools – Liquidity Pools and Automated-market making on BitShares blockchain.
- BitShares Traders – Focus on Trading.
- BitShares Wallet Help – Web-based wallet & desktop wallet support.
- BitShares Management Group – Discussions and support from BitShares Management Group.
- PyBitShares – Focus on python-bitshares development.
- PoolTool – Dicussions about PoolTool.
- BeetApp – Focus on beetapp development.
- DEXBot – Focus on DEXBot development.
- Committee – (invite only) For committee members.
- Witnesses – (invite only) For block producers.