Interface & API

Interface Details

All interfaces can be set to run over HTTP or HTTP-over-Unix-Sockets.

Tessera to Tessera - Public API

Tessera nodes communicate with each other for:

  • Node/network discovery

  • Sending/Receiving encrypted payloads

The following endpoints are advertised on this interface:

  • /version

  • /upcheck

  • /push

  • /resend

  • /partyinfo

Third Party - Public API

Tessera nodes communicate with third parties for:

  • storing encrypted payloads for external applications

The following endpoints are advertised on this interface:

  • /version

  • /upcheck

  • /storeraw

Ledgerium Core to Tessera - Private API

Ledgerium Core uses this API to:

  • Check if the local Tessera node is running

  • Send and receive details of private transactions

The following endpoints are advertised on this interface:

  • /version

  • /upcheck

  • /sendraw

  • /send

  • /receiveraw

  • /receive

  • /sendsignedtx

Admin API

Admins should use this API to:

  • Access information about the Tessera node

  • Make changes to the configuration of the Tessera node

The following endpoints are advertised on this API:

  • /peers - Add to, and retrieve from, the Tessera node's peers list

  • /keypairs - Retrieve all public keys or search for a particular public key in use by the Tessera node

API Details

version - Get Tessera version

  • Returns the version of Tessera that is running.

upcheck - Check Tessera node is running

  • Returns the text "I'm up!"

push - Push transactions between nodes

  • Persist encrypted payload received from another node.

resend - Resend transaction

  • Resend all transactions for given key or given hash/recipient.

partyinfo - Retrieve details of known nodes

  • GET: Request public keys/url of all known peer nodes.

  • POST: accepts a stream that contains the caller node's network information, and returns a merged copy with the callee node's network information

sendraw - Send transaction bytestring

  • Send transaction payload bytestring from Ledgerium Core to Tessera node. Tessera sends the transaction hash in the response back.

send - Send transaction bytestring

  • Similar to sendraw however request payload is in json format.

storeraw - Store transaction bytestring

  • Store transaction bytestring from a third party to Tessera node. Tessera sends the transaction hash in the response back.

sendsignedtx - Distribute signed transaction payload

  • Send transaction payload identified by hash (returned by storeraw) from Ledgerium Core to Tessera node. Tessera sends the transaction hash in the response back.

receiveraw - Receive transaction bytestring

  • Receive decrypted bytestring of the transaction payload from Tessera to Ledgerium Core for transactions it is party to.

receive - Receive transaction bytestring

  • Similar to receiveraw however request payload is in json format.

delete - Delete a transaction

  • Delete hashed encrypted payload stored in Tessera nodes.