0.6.0 • Published 30 days ago

@kadena/chainweb-node-client v0.6.0

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
30 days ago

@kadena/chainweb-node-client

Typed JavaScript wrapper with fetch to call chainweb-node API endpoints

API Reference can be found here chainweb-node-client.api.md

Chainweb Node Client

Chainweb Node Client is a typed JavaScript wrapper with fetch to call chainweb-node API endpoints. These endpoints are broken down into three categories:

  1. blockchain - wrapper around chainweb-node p2p api endpoints
  2. pact - https://api.chainweb.com/openapi/pact.html
  3. rosetta - https://api.chainweb.com/openapi/#tag/rosetta

The Pact API will contain the following functions:

  • listen
  • local
  • mkCap
  • parseResponse
  • parseResponseTEXT
  • poll
  • send
  • spv
  • stringifyAndMakePOSTRequest

Pact

listen

Listen for result of Pact command on a Pact server and retrieves raw response.

const requestKey: IListenRequestBody = {
  listen: 'ATGCYPWRzdGcFh9Iik73KfMkgURIxaF91Ze4sHFsH8Q',
};

const response: ICommandResult | Response = await listen(requestKey, '');

local

Blocking/sync call to submit a command for non-transactional execution. In a blockchain environment this would be a node-local “dirty read”. Any database writes or changes to the environment are rolled back.

const signedCommand: LocalRequestBody = {
  cmd,
  hash,
  sigs: [{ sig }],
};

const response: ICommandResult | Response = await local(signedCommand, '');

mkCap

Helper function for creating a pact capability object. Output can be used with the mkSignerCList function.

mkCap('coin.TRANSFER', ['fromAcctName', 'toAcctName', 0.1]);

parseResponse

Parses raw fetch response into a typed JSON value.

const parsedResponse = await parseResponse(response as Response);

parseResponseTEXT

const parsedResponse = await parseResponseTEXT(response as Response);

poll

Allows polling for one or more transaction results by request key.

const signedCommand: IPollRequestBody = {
  requestKeys: ['ATGCYPMNzdGcFh9Iik73KfMkgURIxaF91Ze4sHFsH8Q'],
};

const response: Response | IPollResponse = await poll(signedCommand, '');

send

Asynchronous submission of one or more public (unencrypted) commands to the blockchain for execution.

const signedCommand1: ICommand = {
  cmd,
  hash,
  sigs: [{ sig }],
};

// A tx created for chain 0 of devnet using `pact -a`.
const signedCommand2: ICommand = {
  cmd,
  hash,
  sigs: [{ sig }],
};

const sendRequest: IISendRequestBody = {
  cmds: [signedCommand1, signedCommand2],
};

const response: Response | ISendResponse = await send(sendRequest, '');

spv

Sends request to /spv and retrieves spv proof of a cross chain transaction.

const spvResponse: string | Response = await spv(spv_request, '');

stringifyAndMakePOSTRequest

Formats API request body to use with fetch function.

const body: object = {
  name: 'hello',
  val: 'Kadenians',
};

stringifyAndMakePOSTRequest(body);
0.6.0

30 days ago

0.5.3

3 months ago

0.4.4

9 months ago

0.5.0

7 months ago

0.4.1

10 months ago

0.5.2

6 months ago

0.4.3

9 months ago

0.5.1

6 months ago

0.4.2

10 months ago

0.3.3

10 months ago

0.3.0

11 months ago

0.3.2

11 months ago

0.3.1

11 months ago

0.1.2

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.1.0

1 year ago

0.1.1

1 year ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago