@minka/bridge-sdk
TypeScript icon, indicating that this package has built-in type declarations

2.7.1 • Public • Published

Bridge SDK

Components

Bridge SDK provides two main components:

  • Server
  • Processor

Server

Server implements two-phase protocol for the ledger. Incoming requests are persisted in the bridge database as entries, intents and commands. When processing is requred, job is created which will be assigned to an available processor for processing.

Server provides proxy to the ledger in order for 3rd party system to be able to communicate with the ledger. Proxy will establish secure communication when calling the ledger and sign payload with the bridge key when needed.

Effects can also be registered in the server. Effects are used to extend the ledger core functionalities by observing and reacting on events raised when a change occurs with ledger data.

Exposed two-phase commit endpoints:

Method Path Description
POST /v2/credits prepares credit transaction
POST /v2/credits/<handle>/abort aborts credit transaction
POST /v2/credits/<handle>/commit commits credit transaction
POST /v2/debits prepares debit transaction
POST /v2/debits/<handle>/abort aborts debit transaction
POST /v2/debits/<handle>/commit commits debit transaction
PUT /v2/intents/<handle> updates intent record

Exposed job endpoints:

Method Path Description
POST /v2/jobs/<handle>/continue schedules suspended job for processing

Exposed proxy endpoints:

Method Path Description
POST /v2/proxy/intents create an intent
GET  /v2/proxy/intents  fetch intents
GET /v2/proxy/intents/<handle> fetch an intent
POST /v2/proxy/signers create a signer
PUT /v2/proxy/signers/<handle> update a signer
GET  /v2/proxy/signers fetch signers
GET /v2/proxy/signers/<handle> fetch a signer
POST /v2/proxy/wallets create a wallet
PUT /v2/proxy/wallets/<handle> update a wallet
GET  /v2/proxy/wallets fetch wallets
GET /v2/proxy/wallets/<handle> fetch a wallet
GET /v2/proxy/wallets/<handle>/balances fetch wallet balances

Exposed effects endpoints:

Method Path Description
POST /v2/effects/<handle> executes a registered effect

Processor

Processor listens for pending jobs in the system and executes them. Each processor must have unique handle in the system which is used for job balancing across processors. Processing of a job can be suspended for predefined time (e.g. 5 minutes, waiting for banking core) or indefinitely which requires manual job continuation.

Running unit tests

Run nx test bridge-sdk to execute the unit tests via Jest.

Running lint

Run nx lint bridge-sdk to execute the lint via ESLint.

Readme

Keywords

none

Package Sidebar

Install

npm i @minka/bridge-sdk

Weekly Downloads

354

Version

2.7.1

License

MIT

Unpacked Size

1.5 MB

Total Files

1278

Last publish

Collaborators

  • tomo-minka
  • omar-minka
  • luisfidelis
  • tomislav-minka
  • minka_
  • zrumenjak