井通區塊鏈開發概述
一、幾大代表性的底層區塊鏈
比特幣bitcoin,中本聰 以太坊ethereum,V神 瑞波ripple/恆星stellar,JED 位元股bitshares/EOS,BM Fabric,IBM主導,沒幣 井通Jingtum,井底望天
二、開發思路 這裡主要講講幾種主流區塊鏈開發的思路和特點,以及井通區塊鏈在開發上面不同的地方。
1、首先講比特幣。 這裡只講我瞭解的淺顯的開發思路,可能還有更多的、更高階的開發思路、開發方法和開發工具。
大家知道,比特幣支援的指令碼語言不是圖靈完備的。那麼啥叫圖靈完備?簡單點理解就是用這種程式語言想幹啥就幹啥,沒有限 制。那非圖靈完備的意思就是這種程式語言是受到限制的,只能提供有限的程式設計能力。比特幣只支援一些簡單的指令,沒有無限循 環,沒有流程控制等等高階語言特性,所以做不了太複雜的事情。
要開發比特幣區塊鏈上的應用,一種方式就是通過RPC介面呼叫,與比特幣系統進行通訊。那麼什麼叫RPC?RPC就是Remote Procedure Call,翻譯過來就是遠端過程呼叫。這種方式下,開發比特幣應用程式,需要安裝比特幣客戶端,並配置好外部訪問的端 口、使用者名稱、密碼。您的應用程式就可以通過比特幣客戶端的IP地址、埠號、使用者名稱和密碼訪問比特幣區塊鏈網路了。
另外一種方式就是通過JSON RPC的方式訪問。比如著名的 blockchain.info 提供的JSON RPC介面。這種方式下沒有必要安裝位元 幣客戶端,直接通過web的方式訪問JSON RPC,傳入必要的引數,就可以訪問比特幣區塊鏈網路了。
2、再講講以太坊。 這裡我也只講我瞭解的。以太坊的開發者社群建設的非常棒,一大幫子開發人員在圍繞著它開發,開發文件和開發工具也比較健全。
以太坊的開發,我瞭解的有2類,一類是普通介面開發,一類是智慧合約開發。
普通介面開發也就是採用JSON RPC的方式,通過web方式連線上RPC埠,進行以太坊區塊鏈網路的訪問。此種開發模式下,一般 要求本地安裝以太坊的客戶端,開放RPC連線埠,應用程式就可以連線這個埠,訪問以太坊網路。另外一種方式也可以不用安 裝以太坊客戶端,而是通過其他第三方平臺提供的API訪問,例如著名的etherscan.io就提供api。
智慧合約是以太坊最大的貢獻,也是造就大量空氣幣的利器。以太坊上發幣就是寫一個智慧合約,然後部署到鏈上就行了。以太坊 智慧合約有專門的指令碼語言Solidity。智慧合約搞起來容易,不出問題很難。
另外順便說一下,以太坊上跑應用,有2個問題,一個是慢,一個是貴。慢的問題大家已經體驗過了,擼個貓就死球;貴的問題, 可能大家沒有直觀感受,但是隻要你去轉一筆賬試試,算算花了多少錢就知道了。
3、重點講解井通區塊鏈的開發。
井通區塊鏈的開發與上面大當家和二當家的不太一樣的地方在於,你根本感覺不到是在玩區塊鏈。而是在搞簡化了的微信支付和支 付寶支付的開發。為什麼說是簡化了微信和支付寶開發,因為井通區塊鏈的開發流程和規範真的比他們簡單。
井通區塊鏈提供了非常簡便的rest api,任何人,沒有任何限制的就可以去呼叫。不需要安裝客戶端錢包,不需要同步資料,也不需 要等待確認。交易費用非常便宜,到賬非常快速。當然有些比較特別的概念,大家需要了解清楚,才能更好的去開發基於井通區塊 鏈的應用。那麼下面就給大家介紹一下井通區塊鏈的幾個基本概念。
三、井通區塊鏈基本概念
1、SWT,System Working Token SWT,是井通區塊鏈原生的數字資產,作用類似於比特幣系統中的BTC或以太坊中的ETH,是井通系統內交易所需的介質和燃料。 SWT的作用和特性體現在如下幾個方面:
1)使用者在井通系統中建立一個有效賬戶(即錢包,下同),必須通過SWT來進行啟用;沒有啟用的賬戶無法使用。 2)使用者在井通系統中進行交易,必須消耗SWT,消耗的數量可以由客戶端系統自己定義,比如目前通過rest api,每筆交易收取0.01 個SWT。 3)系統通過SWT保障系統執行的穩定和安全,提高惡意攻擊的成本,因為每筆交易都要收取一定的SWT,對於正常的交易,幾乎 可以忽略不計,但是對於海量的惡意攻擊性質的交易,這個成本非常巨大。 4)交易中消耗的SWT費用,由系統本身回收,進行迴圈利用。
2、Tum,使用者通 Tum,使用者通是井通區塊鏈獨特和創新的概念,表示使用者在井通區塊鏈上發行和使用的智慧電子資產的統稱。現在大家都習慣叫“通
證”。
使用者通的發行、使用和回收都會記錄在區塊鏈中。
使用者通的發行須由企業向井通銀關申請。申請內容需要包括公司或組織的基本資訊、對應的實物資產資訊、發行總量、面值、存續 期限等,具體可以參考使用者指南。企業發行的使用者通由企業的信用提供保證,可以用來為使用者提供多種服務,比如作為企業服務的 優惠券、代金券等等。
3、FinGate,銀關
FinGate, 銀關也是井通區塊鏈非常具有特色的概念。正是因為銀關,井通區塊鏈具備了強大的商業落地能力。銀關是企業和商戶等B 端使用者接入井通區塊鏈的接入點, 各大機構和企業,政府機關,事業單位等通過銀關接入,發行自己的數字資產。同時,銀關也是 各個B端使用者的管理端,通過銀關管理自己發行的數字資產。
銀關的主要功能如下:
管理企業和商戶的使用者 企業和商戶通過銀關解決其相應使用者接入區塊鏈的問題,為他們的使用者提供可信的接入服務,同時解決使用者實名認證問題, 滿足政 府部門監管需求,為使用者提供區塊鏈服務。
管理企業和商戶的資源 企業和商戶可以通過銀關發行屬於自己的使用者通資源,例如發行企業內部積分、發行商戶優惠券、發行商戶積分等, 為企業的業務 流程構建提供支援。
井通銀關有不同的工作模式:DEVELOPMENT模式為測試模式,PRODUCTION模式為正式模式。
4、Issuer,貨幣發行方
貨幣發行方是一個經常出現在介面文件和程式碼裡面的概念,因此提前先拿出來講一下。貨幣發行方就是資產的發行機關,因為井通 區塊鏈是一個多資產系統,允許合格的企業、組織或者機構,建立銀關,發行資產。因此,如果大家以後在程式碼裡面,看到貨幣發
行方(issuer),實際上就是銀關地址。
SWTC是井通區塊鏈的原生數字資產,它的發行方就是井通區塊鏈本身,所以,進行SWTC的交易是不需要帶發行方的。但是操作 其它的數字資產,就需要發行方了。比如人民幣資產CNY,可以由不同的發行方發行,都叫CNY,那麼在進行轉賬交易時就必須指 定發行方。
5、Smart Contract,智慧合約
Smart Contract,智慧合約是執行在區塊鏈上面的合約程式,通過區塊鏈提供不可停止的可信計算功能,保障了合約的自由執行, 所 以在井通系統中智慧合約也稱為自由合約。智慧合約是解決多方在業務功能執行上面信任的問題,保障多方共同信任某一合約功能 的執行, 解決現實世界中執行的可信問題。
智慧合約的執行是不可停止的,所以智慧合約需要通過在合約中構建可以滿足現實需求的合約功能,包括監督、行政以及監管的功 能, 通過合約本身的機制來符合業務的需求。
井通智慧合約提供基本的、可靠的合約模板滿足基本的大部分的合約需求,同時也提供自由程式設計的模式,為合約高階使用者提供豐富 的功能, 基本的功能包括合約部署,合約驅動以及合約停止等功能。
四、開發方向 1、公鏈快速開發
公鏈快速開發就是在井通公鏈的基礎上,採用井通區塊鏈的api或者sdk,開發特定領域的應用程式。例如,隨便講一個可用案例, 可以基於井通公鏈搭建自己的應用場景,實現SWTC在自己業務體系內部的支付、轉賬、結算等業務操作,代替之前單一平臺的積 分、代金券等,實現全網流通,增強產品和服務的附加價值,促進業務收入增長。可能還有其它的更好的案例,這個時候大家可以 發揮自己的想象力和主觀能動性,盡力挖掘潛在應用場景,想到就去幹。
後面會盡快的安排井通區塊鏈API介面功能的交流和培訓活動,敬請期待。 2、發行通證/圍繞通證開發
發行通證就是發行TOKEN,講的直接點就是發幣,當然,我們拒絕空氣幣。井通區塊鏈是一個多資產系統,原生支援發行多種數 字資產,而且原生支援多種數字資產之間的互換和交易。
井通區塊鏈上面發通證非常簡單,但是有門檻,使用者需要在井通銀關注冊賬號,提交企業資訊申請認證,SWTC基金會需要進行企 業身份資訊的稽核。通過稽核後,企業可以申請使用者通(通證),填寫通證對應的實物資產的介紹和一些必要資訊,上傳Logo圖 片,就可以提交稽核了。通證發行申請通過了稽核,企業就可以自主發行數字資產,在授信額度內想發多少就發多少。
發行通證後,企業就可以圍繞著這個通證進行應用場景的搭建和各種業務功能的開發了。比如需要開發的東西包括:通證錢包,區 塊鏈瀏覽器,核心業務系統等。
後面會有一篇專門的文章和分享來詳細講整個通證發行的全流程。敬請期待。 3、搭建私鏈/聯盟鏈
上面講了井通公鏈的快速開發和發行通證的開發流程,這些都是基於井通公鏈的應用場景開發。我們希望大家都儘量選擇井通公 鏈,對於企業和開發者來說,這是目前最快、最經濟、最開放的切入區塊鏈領域的方法,沒有之一。基於井通公鏈開發的應用可以 分享井通公鏈上的其它應用的使用者和流量,相互引流,擴大產品受眾和銷量,大家一起共建井通公鏈生態系統。
但是有些企業,特別是大型企業和組織機構,想採用井通公鏈的底層技術,搭建自己的底鏈,建立自己獨立的生態系統。那麼對於 這種願望和理想,我們表示理解,也可以收費支援。比如,可以由井通科技提供自定義的私鏈節點安裝包,應用開發團隊具體實 施,為這樣的使用者搭建私鏈或者聯盟鏈。具體的報價和實施方案可以聯絡SWTC基金會的相關工作人員。
4、數字錢包
數字錢包是一般的普通使用者接觸區塊鏈的主要工具,可能有桌面版本,WEB版本,更多的還是手機版本。目前井通區塊鏈上有一個 由井通科技開發的SWTC錢包,作為井通區塊鏈上唯一的資產管理工具。但是這個錢包不太穩定,使用者體驗也一般。其實這給了有 開發能力的團隊或者開發人員一個機會,完全可以自己去做一款好用的錢包,去和SWTC錢包競爭。如果使用者體驗夠好,也足夠安 全,那麼SWTC社群幾十萬使用者就是你的了。有了使用者,這就是你創業的資本,也是融資的籌碼。怎麼樣?心動了嗎?心動不如行 動,有才華的程式設計師們,看你們的了!
上面說的是在井通公鏈上開發數字錢包,也可以做成多幣種錢包,相容各種主流幣種。另外,有能力的開發團隊還可以接單子,為 客戶開發定製錢包,好好打磨,就可以推出自主智慧財產權的數字錢包了。華麗麗的從專案外包團隊,變成數字資產錢包運營商了。
5、區塊鏈瀏覽器 區塊鏈瀏覽器是公眾查詢鏈上區塊資訊、交易資訊,瞭解區塊鏈執行狀況的必備工具,未來也可以作為部署智慧合約、開發和測試
智慧合約的一個整合環境,是區塊鏈面向使用者和開發者的一面視窗,其重要性可見一斑。
然而,大家都用過井通區塊鏈的區塊鏈瀏覽器,也用過以太坊區塊鏈瀏覽器,比如etherscan.io,可以看到井通區塊鏈瀏覽器功能比 較單薄,介面比較簡單,最重要的是也不夠穩定,動不動就出問題。這裡面具有很大的提升空間,也是我們SWTC社群開發者們的 巨大的機會。對比以太坊的幾個區塊鏈瀏覽器,尤其是etherscan.io估計是大家用的最多的,功能很豐富,介面很友好,大家用起來 很滿意。我覺得這可以作為我們井通區塊鏈瀏覽器短期內的奮鬥目標吧。
SWTC社群有能力的開發者們,是時候展示你們了的能力了,搞出一個好用的區塊鏈瀏覽器,我們就會成為你的忠實使用者。至於這 個怎麼盈利?有了幾十萬使用者和流量,你幹啥都行啊。
6、行情服務/資訊服務
數字資產的行情服務、資訊服務目前也是創業熱點,在很短的時間內,誕生了諸如非小號、mytoken等行情服務運營商,聚集了大 量的使用者,贏得了投資機構的關注。行情服務一般伴隨著資訊服務,使用者量上來了,可以變現的渠道很多,這兩塊業務都有著很好 的想象空間。
那麼基於SWTC的行情服務目前有 m-swt.org,這個網站是網友自己業餘時間搞的,也做的很不錯,受到了廣大SWTC粉絲的歡迎。 目前純粹是公益性質的,免費給大家用,還沒考慮商業化,後期可以考慮商業化,提供更多的增值服務,快速積累使用者。
那麼我們其它的同學,其實也可以按這個思路,提供更好更優質的服務。比如提供SWTC的量化交易和搬磚系統,作為增強市場流 動性的有效手段。同時作為增值服務提供給使用者。
7、數字資產支付服務 數字資產被定義為一種虛擬資產,未來必將成為人們資產配置的重要組成部分。數字資產具有極好的流動性和極低的交易成本,完
全可以使用在各種各樣的支付場景中。比如商城可以接受SWTC付款,支付服務提供商可以將SWTC作為一種支付選項。
即使目前階段,真正實現數字資產支付可能還有一些障礙,但是現在就將數字資產作為支付選項,可以極大的提高商家和技術服務 商的影響力和聲譽。同時也可以增加SWTC的知名度,擴大SWTC的影響力,商家可以從這些活動中,向SWTC基金會收取SWTC傭 金或者獎勵。
可以想象的一個應用場景是,在支付介面上顯示SWTC支付選項,傍邊放一個介紹連結,點選連結進去可以檢視SWTC詳情介紹和 下載二維碼,通過這個二維碼下載的,可以制定一些合理的營銷策略,讓商家有利可圖,從而樂意提供渠道給SWTC進行展示。
8、開發和維護API
井通區塊鏈API是開發者訪問井通區塊鏈系統的關鍵通道,如果這個通道不穩定,或者功能不夠全面,會極大的影響生態系統的健 康和繁榮。目前井通區塊鏈上已經有一套API,基本功能也都有了,但不是很穩定,那麼是否可以有更豐富的功能?是否可以提供 更穩定的服務?對於提供服務的團隊,是否應該給予足夠的獎勵?這些都是SWTC基金會需要考慮的問題,也是碼農們深度參與的 一個重要機會。
9、開發和維護SDK 相對於API來說,SDK更容易程式設計,功能更強大,因此如果能夠提供好用的SDK,勢必會進一步降低開發者接入井通區塊鏈的門
檻。可惜的是,我們目前的一套SDK存在不少的問題,開發者很難使用,文件也非常少,所以很多開發者選擇SDK,往往就會掉進 坑裡面。如果我們SWTC社群裡面有程式設計高手,接手SDK的開發,把SDK做完善,文件寫清楚,方便開發者迅速接入,SWTC基金 會可以給予足夠的獎勵。另外,如果有人使用了SDK,SDK開發者可以通過使用次數等,獲得SWTC基金會的獎勵。
10、各種工具開發
作為一個商用的底層區塊鏈系統,必須有一大堆各種輔助工具,幫忙使用者更好的使用區塊鏈上的各種功能,幫助開發者更容易、 更高效的開發,那麼這些事情交給社群的開發者來做是最合適不過的。對於優秀的專案,可以納入官方的專案庫作為重要的組成部 分,同時SWTC基金會給予足夠的獎勵,並重點扶持,幫助他做大做強。
11、應用落地開發
井通區塊鏈是目前為止,全球唯一進行了大規模商業應用檢驗的底層區塊鏈系統,早在幾年前就為世界500強企業搭建了其內部使 用的應用場景。2018年是區塊鏈應用落地之年,相信會有更多的區塊鏈應用落地專案,井通將是他們最好的選擇。因此大家要抓住 機遇,善於發現需求,敢於主動出擊,將身邊的優質應用拉到井通區塊鏈上面來。SWTC基金會將會協調合適的開發團隊和技術人 員,配合大家做好技術支援工作,做好專案實施工作。在專案運作過程中,全部的專案費用可以由業務人員和開發團隊協商分成。 SWTC基金會還會給予參與各方足夠的獎勵。
12、解決方案/諮詢服務
解決方案和諮詢服務本來應該是和應用開發一起的,但是確實有人只善於寫方案,而沒有開發能力,那怎麼辦?好辦,井通生態鏈 上有你們的一環。在所有的落地專案進入開發之前,都有漫長的溝通和交流,解決方案的反覆修改和完善,這些都非常需要有經驗 的售前技術人員或者諮詢人員去跟蹤和調研。作為一名井粉,作為一名區塊鏈從業者或者投資者,我們一定有能力、有信心去完成 這件事情。一旦解決方案確定,可以交付給專業的開發團隊去做。這就相當於井通構建了一個生態系統,大家各自發揮自己的優勢 和特長,加入這個生態系統,賺取屬於自己的利潤。每個人都成為這個生態系統上面的創業者,為自己,為他人,為井通。
13、基於井通區塊鏈的跳蚤市場 井通區塊鏈原生的支援多種數字資產的交易,因此,非常適合做一個基於區塊鏈的跳蚤市場,讓使用者自由的在跳蚤市場上掛單交換
各種不同的數字資產。
五、開發資源
五、井通介面概覽
目前井通區塊鏈開發介面分3種:
1)標準的rest api :呼叫井通提供的api介面,通過api伺服器訪問底層節點。最快速接入井通區塊鏈的方法,沒有之一。 2)各種語言sdk:對rest api的簡單封裝,提供了更多的功能和更方便的呼叫,但是不是特別穩定,也比較舊,很久沒有升級,不建 議使用。
3)nodejs版本jingtum-lib:直接和井通區塊鏈底層節點進行通訊,更穩定更安全更快速。
由於目前推薦使用rest api和jingtum-lib進行開發。因此下面先簡要的介紹一下rest api 和jingtum-lib的介面的概貌。具體的介面呼叫方 法,引數及返回值請參見單獨的文件。
1、Rest api
rest api 當前的版本是V2。訪問井通區塊鏈rest api必須帶上版本號,然後後面接具體的介面函式的路徑。如: 正式環境:https://api.jingtum.com/v2/
測試環境:https://tapi.jingtum.com/v2/ 下面所有的說明和例子都用測試環境。
要切換到正式環境只需要修改介面的訪問URL。 井通區塊鏈有如下幾類介面:
1)賬號類
建立錢包
獲取餘額 2)支付類
支付交易
獲取支付資訊
獲取支付歷史
查詢支付選擇
3)掛單類
提交掛單
獲取掛單列表
獲取掛單資訊
取消使用者掛單
獲得貨幣對的掛單列表
獲得貨幣對的買單列表
獲得貨幣對的賣單列表
4)賬本類
獲得最新賬本號 通過賬本號/區塊高度獲得某一賬本資訊及交易資訊 通過賬本hash獲得某一賬本資訊及交易資訊
5)交易記錄 查詢交易資訊
查詢交易記錄
6)智慧合約 部署合約
呼叫合約 7)訂閱功能
連線訂閱伺服器
發起訂閱請求
接收訊息
取消訂閱
關閉訂閱
2、 jingtum-lib jingtum-lib目前只有nodejs版本,其它語言版本正在開發。下面是jingtum-lib的nodejs版本的使用手冊目錄截圖。可以瞭解lib庫提供的
一些基本功能。
作為一個開發者,有一個學習的氛圍跟一個交流的圈子特別重要,下面是我們的社群交流群,不管你是小白還是大牛歡迎入住,分享經驗、討論技術、社群開發。大家一起交流學習共同成長!希望開發者少走彎路。
1.社群開發者大賽 QQ 群:568285439
2.社群論壇:http://bbswtc.com
3.社群公眾號:SWTC 互動社群、SWTC 社群
4.github:https://github.com/swtcpro