Spin node create spin api for node
yarn add @spinfi/node
const {spin} = await createApi({
accountId: 'some account id value',
privateKey: 'some private key value',
});
Spin core create spin api instace that work exactly in browser and node.js
const response = await spin.depositFt(request);
Websocket property provide functions to call spin
off-chain methods by websocket
Websocket method divided in two types:
Method require some parameters in json rpc
format and return some data with onOk
callback.
If websocket return not expected data format - api will ignore it. If websocket return correct
message without connection/js error, but with error field - data handled by onError
callback
const unsubscribe = spin.ping({
onOk: (data) => console.log(data),
onError: (error) => console.error(error),
});
Subscription its like method but more complex. It work like that:
sub
and create channel
to serversub
ok (channel created) then api create listners for websocketchannel
then api call corresponding subscription callbacksconst unsubscribe = spin.listenOrders(request, {
onSubOk: (data) => console.log(data),
onSubError: (error) => console.error(error),
});
Channel - its stream of websocket message that have same subscription id
and have some format.
Messages in channel maybe different. Some channel have first uniq message and some not.
First uniq message in channel its state
and other messages its notification
Websoket message match with channel by json rpc
id created when subscription called and subscription id
created by server
const unsubscribe = spin.listenOrders(request, {
onNotifyOk: (data) => console.log(data),
onNotifyError: (error) => console.error(error),
onStateOk: (data) => console.log(data),
onStateError: (error) => console.error(error),
});
Some times its needed unsubscribe from subscription. It work like that:
unsub
and get responsetrue
then channel
is closedrxjs
subscriptions its also unsubscribedfalse
then channel
not closedonUnsubError
handle false
branchconst unsubscribe = spin.listenOrders(request, {
onSubError: (error) => console.error(error),
onUnsubError: (error) => console.error(error),
});
Generated using TypeDoc