Javascript分類帳外掛程式介面版本2
Interledger協議是用於跨多個不同結算系統進行支付的協議套件。
該規範為Interledger用戶端和連接器定義了一個JavaScript分類帳抽象介面,用於跨不同分類帳協議進行通訊和路由支付。雖然這裡定義的確切方法和事件是JavaScript實現特有的,但它可以用作其他語言的分類帳抽象的指南。
要通過新分類賬發送ILP付款,必須實施一個分類賬外掛程式,該分類賬外掛程式公開以下定義的介面。這可以與ILP用戶端和連接器一起使用,並且應該可以直接使用。
這個規格取決於 ILP規範 。 類:LedgerPlugin
class LedgerPlugin 方法
|
名稱 |
new |
LedgerPlugin(opts,api) |
|
connect(options )⇒ Promise.<undefined> |
|
disconnect()⇒ Promise.<undefined> |
|
isConnected()⇒ Boolean |
|
sendData(options )⇒ Promise.<Buffer> |
|
sendMoney(amount )⇒ Promise.<undefined> |
|
registerDataHandler(dataHandler)⇒ undefined |
|
deregisterDataHandler()⇒ undefined |
|
registerMoneyHandler(moneyHandler)⇒ undefined |
|
deregisterMoneyHandler()⇒ undefined |
常量
活動
名稱 |
處理器 |
connect |
( ) ⇒ |
connect |
( ) ⇒ |
error |
( ) ⇒ |
執行個體管理
新的LedgerPlugin
new LedgerPlugin( opts : object, api? : PluginServices )
建立一個外掛程式的新執行個體。每個執行個體通常對應於不同的分類賬。然而,一些外掛程式可能偏離嚴格的一對一關聯性,並可能在內部充當一個以上對手的虛擬連接器。
第一個參數opts是一個設定物件,其形狀是每個外掛程式特有的。外掛程式通常會通過環境變數進行配置,所以建議opts應該使用JSON序列化。但是,外掛程式可能使用不可序列化的值來提供進階功能。
第二個參數api是可選的,用於將附加環境服務傳遞給外掛程式,例如記錄器或KVStore for Redis。大多數外掛程式應該工作,即使這個參數是undefined,但可能會提供較少的功能(例如沒有持久性)。
InvalidFieldsError如果建構函式被賦予不正確的參數,則拋出opts。拋出TypeError如果opts不是對象或被api定義而不是對象。拋出InvalidServicesError如果需要服務,但不提供通過api。 參數
名稱 |
類型 |
描述 |
OPTS |
PluginOptions |
包含分類帳相關設定的對象。可能包含特定於外掛程式的欄位。 |
例
const ledgerPlugin = new LedgerPlugin({ // auth參數由外掛程式定義 _Store : { //可能需要持久性內部使用一些分類帳外掛程式 //(例如,當系統中有降低的備忘錄功能,我們只能把在備忘錄的ID) //儲存體金鑰下的值 put:(key,value)=> { //返回Promise。<undefined> }, get :( key) => { //返回Promise。<Object> }, //按鍵刪除一個值 del :(