-
Notifications
You must be signed in to change notification settings - Fork 0
Interface & API
All interfaces can be set to run over HTTP, GRPC or HTTP-over-Unix-Sockets.
We currently have an implementation of gRPC for peer node communication as experiment API. This is not enabled on Quorum yet, but between Tessera nodes they can be enabled by adding in a couple of properties in the configuration file as child elements of serverConfig
.
-
grpcPort
- when this value is specified, Tessera node will start a gRPC server listening on this port. The normalport
value would still be used for starting REST server. -
communicationType
- possible values areREST
,GRPC
. Default value isREST
.
Please note that communication between Quorum and Tessera are still via unix socket. This communication flag provides additional options for Tessera peer-to-peer communication. If gRPC is the option specified, please ensure the peers urls are provided with the appropriate ports.
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
Tessera nodes communicate with third parties for:
- storing encrypted payloads for external applications
The following endpoints are advertised on this interface:
/version
/upcheck
/storeraw
Quorum 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
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 Quorum 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. Please see our Swagger documentation for object model.
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 Quorum 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 Quorum for transactions it is party to.
receive
- Receive transaction bytestring
- Similar to receiveraw however request payload is in json format. Please see our Swagger documentation for object model.
delete
- Delete a transaction
- Delete hashed encrypted payload stored in Tessera nodes.
For more interactions with the API see the Swagger documentation.