MFT Blockchain Node API
Release 1.0
Introduction
The MFT Blockchain Node API provides access to the REST service as follows:
- GET and DELETE parameters are part of the URL.
- POST and PUT parameters are sent in the body as form-urlencoded.
- The format of the response can be set by passing the "format" parameter as part of the request.
- Supported response formats are presented along with the operation summary.
- Errors are returned with HTTP status code of 400 (Bad Request), along with a plain-text error message in the response body.
- Successful responses return an HTTP status code of 200 (OK), along with a object encoded in the selected format.
- All hex-encoded string must be zero-padded to the left, so that the total length is as specified.
- Base31/n identifiers are n-character strings from the alphabet consisting of all English consonants and digits 0-9.
- Transaction IDs can either be Base31/8 or v4 UUID; however v4 UUID is highly recommended.
- All signatures and hashes of responses are performed on a block formed by concatenating the values of the parameters,
ordered corresponding to the property's name in ascending Unicode alphabetical order.
For example, the signature of the output of /config would be performed
on a block that results from concatenating the value of "apiurl", "basefee", "brokerid", "brokerkey", "daytime", "degree", "feeperc",
"minversion", "pubkey" and "version".
Operations Summary
URI |
Method |
Summary |
/addresses |
GET |
Get list of addresses |
/apidoc |
GET |
Get the API documentation |
/apitest |
GET |
Get API test web page |
/apitestparams |
GET |
Get API test parameter inputs |
/block |
GET |
Get block data |
/block |
POST |
Add a block to the blockchain |
/broadcast |
POST |
Broadcast a request |
/cdir |
GET |
Get content directory |
/chain |
GET |
Get a portion of the blockchain |
/chist |
GET |
Display transaction history of a content item |
/ckeys |
GET |
Get content keys |
/code |
GET |
Get latest version of code |
/config |
GET |
Get node configuration |
/content |
GET |
Get content data |
/content |
POST |
Post content for minting |
/data |
GET |
Get full or partial data records of a database table |
/dump |
GET |
Dump the configuration tables |
/join |
POST |
Join the network |
/keypair |
GET |
Get an importable broker key pair |
/nam |
GET |
Get a name-address mapping |
/namr |
GET |
Get a reverse name-address mapping |
/nodes |
GET |
Get list of nodes in the blockchain network |
/notices |
GET |
Get list of pending notifications |
/nsps |
GET |
Get list of Name Service Providers (NSPs) |
/pending |
GET |
Get list of pending transactions |
/puzzle |
GET |
Generate a puzzle |
/query |
GET |
Process a distributed query |
/recover |
GET |
Internal recovery |
/schema |
GET |
Get the SQL schema for data tables |
/statement |
GET |
Get list of transactions for an address |
/summaries |
GET |
Get list of address summaries |
/throttle |
GET |
Verify throttle (UPL) transaction for an address |
/transact |
GET |
Get transaction data |
/transact |
POST |
Add a transaction |
/transacts |
GET |
Get a list of transactions from a list of transaction IDs |
/update |
POST |
Update data from another node |
/upgrade |
GET |
Get installation script |
/upgrade |
POST |
Upgrade software from another node |
/addressesGET
Get list of addresses
Get a list of addresses that have at least one transaction in the blockchain
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
offset | Integer | The records offset, used for paging | Yes |
limit | Integer | The record limit, used for paging (if exceeds the value set in system.limit.rec.data, the value of system.limit.rec.data will be used) | Yes |
Output Parameters
Field | Type | Description |
---|
response | Summaries | A Summaries object |
hash | String | The SHA-256 hash of the concatenation of the individual hash of each summary, in the order they are returned.. |
summaries | List | A list of Summary objects |
summary | Summary | A Summary object |
address | String | The address, which is the SHA-256 hash of its public key, encoded as a zero-padded hex string |
hash | String | The SHA-256 hash of the summary item. |
Errors
/apidocGET
Get the API documentation
Get the API documentation
Minimum seconds between requests: 0
Supported response formats: html
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Errors
/apitestGET
Get API test web page
Get API test web page in HTML
Minimum seconds between requests: 0
Supported response formats: html
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Errors
/apitestparamsGET
Get API test parameter inputs
Get API test parameter inputs in HTML
Minimum seconds between requests: 0
Supported response formats: html
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Errors
/blockGET
Get block data
Get data from a block. If requested, may include the list of transactions.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
blocknum | Integer | The block number, or -1 to return the last block in the blockchain. | No |
blockid | String | The block's unique identifier. If not provided, the parameter "blocknum" will be used. | No |
includetxs | Boolean | If true, include a list of the transactions of the block. | Yes |
Output Parameters
Field | Type | Description |
---|
block | Block | A Block object |
blockid | String | The block's unique identifier (Base31/8) |
blocknum | Integer | The block number; its maximum value must be one increment over the last block in the blockchain. |
phash | String | The SHA-256 hash of the previous block in the chain, represented as a zero-padded, 64-byte hex string. |
txids | String | A comma-delimited list of IDs of the transactions in the block. The order of the transactions in the block is the order of the IDs in this list. |
solverid | String | The puzzle solver's ID, which is the SHA-256 hash of its public key. |
magicnum | Integer | The block's "magic number", which is the minimum positive integer that gives a zero-score starting puzzle. |
daytime | String | The day/time of the block, in UTC. Encoded as a 16-byte hex string. |
hash | String | The SHA-256 hash of the block, as a function of the concatenation of the values of "blockid", "blocknum", "daytime", "magicnum", "phash", "solverid" and the individual hash values of the transactions referred by the "txid" field. Represented as a zero-padded, 64-byte hex string. |
puzzlestart | String | The starting puzzle, as a function of the hash value. Represented as a comma-delimited list of 24 tiles, where teach tile is a bit stream [b0..b7], as per the protocol specification. |
solution | String | The puzzle solution, represented as a comma-delimited list of (row,column) integer pairs, where each pair are the zero-based row/column coordinates of the tile to move to the empty space of the puzzle. |
puzzlestop | String | The solved puzzle, which are the elements of "puzzlestart" after applying the solution. Represented as a comma-delimited list of 24 tiles, as per the protocol specification. The empty tile space is represented by an empty string (consecutive commas). |
puzzlescore | Integer | The puzzle score, as a function of the number of matching tile sides, as per the protocol specification. |
nmoves | Integer | The number of moves made to solve the puzzle |
transactions | List | A list of Transaction objects |
transaction | Transaction | A Transaction object |
txid | String | The transaction's unique identifier (v4 UUID) |
daytime | String | The transaction day/time in UTC, encoded as a 16-byte hex string. |
amount | Integer | The amount of the transaction. The value of the amount in MFT is 1/1000000 of this value. |
fee | Integer | The fee to be paid to the broker. This value of the fee in MFT is 1/1000000 of this value. |
type | String | The transaction type |
brokerid | String | The broker address, which is the SHA-256 of its public key |
senderid | String | The sender's address, which is the SHA-256 of its public key |
senderkey | String | The public key of the sender , encoded as a 600-byte X.509 hex string. |
receiverid | String | The receiver's address, which is the SHA-256 of its public key |
receiverkey | String | The public key of the receiver, encoded as a 600-byte X.509 hex string |
rewardforid | String | For transactions of type RWD, the ID of the block for which a reward is being claimed. Must be empty for other types of transactions. |
hash | String | The SHA-256 hash of the transaction |
signature | String | The signature of the sender or the receiver (depending on the transaction type), as a function of the value of the "hash" field |
brokersig | String | The signature of the broker, as a function of the value of the "hash" field |
Errors
/blockPOST
Add a block to the blockchain
Add a block to the blockchain. If the request is valid, it will be broadcast to all nodes in the blockchain network. The requestor is responsible for verifying that the block was accepted by querying a majority of nodes in the network.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
blockid | String | The block's unique identifier (Base31/8) | Yes |
blocknum | Integer | The block number; if the last block in the chain was added less than 10 minutes before the current node time, this numbers should be the same as the number from the last block in the chain; otherwise it should be one more than the number from the last block in the chain. | Yes |
phash | String | The SHA-256 hash of the previous block in the chain, represented as a zero-padded, 64-byte hex string. For the first block, this value must be all-zeroes. | Yes |
txids | String | A comma-delimited list of transaction IDs to include in the block. All transactions must have been previously posted and not contained in any other block in the chain. The order of the transactions in the block is the order of the IDs in this list. | Yes |
solverid | String | The puzzle solver's ID, which is the SHA-256 hash of its public key. A transaction in the next block shall make the reward to this address. | Yes |
magicnum | Integer | The block's "magic number", which is the minimum positive integer that gives a zero-score starting puzzle. | Yes |
daytime | String | The day/time of the block, in UTC. Encoded as a 16-byte hex string. The modulo-10 of this value divided by 60000 must be equal to zero (i.e. the number of minutes must be a multiple of 10) and not more than five minutes before this node's current day/time; otherwise the block will be rejected. | Yes |
hash | String | The SHA-256 hash of the block, as a function of the concatenation of the values of "blockid", "blocknum", "daytime", "magicnum", "phash", "solverid" and the individual hash values of the transactions referred by the "txid" field. Represented as a zero-padded, 64-byte hex string. | Yes |
puzzlestart | String | The starting puzzle, as a function of the hash value. Represented as a comma-delimited list of 24 tiles, where teach tile is a bit stream [b0..b7], as per the protocol specification. | Yes |
solution | String | The puzzle solution, represented as a comma-delimited list of (row,column) integer pairs, where each pair are the zero-based row/column coordinates of the tile to move to the empty space of the puzzle. | Yes |
puzzlestop | String | The solved puzzle, which are the elements of "puzzlestart" after applying the solution. Represented as a comma-delimited list of 24 tiles, as per the protocol specification. The empty tile space is represented by an empty string (consecutive commas). | Yes |
puzzlescore | Integer | The puzzle score, which is the number of matching tile sides, as per the protocol specification. | Yes |
Output Parameters
Errors
Code | Description |
---|
duplicateID | Duplicate ID |
blockNotFound | Block not found |
invalidBlockNumber | Invalid block number |
invalidPuzzle | Invalid puzzle |
invalidScore | Invalid solution score |
invalidSolution | Invalid puzzle solution |
invalidID | Invalid ID |
invalidDayTime | Invalid day/time |
invalidMagicNumber | Magic number is not a minimum for the block hash |
invalidHash | Invalid hash |
missingRewardTx | Reward transaction for previous block is missing |
/broadcastPOST
Broadcast a request
Broadcast a request. Can only be used by nodes that are in the network; otherwise the request will be rejected.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
history | String | A comma-delimited list of addresses to which the message has been broadcast. The first address in the list is the address of the originator of the message. Used to avoid double-forwarding. | Yes |
reqtype | String | The request type, either Transact or Block | Yes |
request | String | The original URL-encoded request. | No |
Output Parameters
Errors
Code | Description |
---|
notInNetwork | Requesting node is not part of the network |
/cdirGET
Get content directory
Get the content directory for a specific address
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
address | String | The address to get the content for. | Yes |
pid | String | The content parent's unique identifier. Content items whose parent ID matches this parameter will be returned. If not provided, content items with no parent (typically belonging to the root) will be returned. | No |
cid | String | The content's unique identifier (v4 UUID). If provided, a single-item content directory list with the matching content will be returned. | No |
timeline | Boolean | If true, all content and descendants from the parent "pid" will be returned, sorted by day/time in descending order; otherwise, only immediate descendants from the parent "pid" will be returned. | No |
claimedonly | Boolean | If true, only include content that has been claimed by the owner; otherwise all content will be included regardless of whether it has been claimed or not. | No |
pinned | Boolean | If "true", return only content that has been flagged as pinned. | No |
offset | Integer | The records offset, used for paging | Yes |
limit | Integer | The record limit, used for paging (if exceeds the value set in system.limit.rec.data, the value of system.limit.rec.data will be used) | Yes |
Output Parameters
Field | Type | Description |
---|
contentList | ContentList | A ContentList object |
items | List | A list of content items |
item | ContentOwner | A ContentOwner object |
cid | String | The content's unique identifier (v4 UUID) |
name | String | The content's name, encrypted with the item's encryption key and encoded in Base64 |
type | String | The content's MIME type |
attr | String | The content's application-dependent attributes, encrypted with the item's encryption key and encoded in Base64 |
ekey | String | The content's encryption key (v4 UUID) - only available for public content |
hash | String | The content SHA-256 hash. Typically used to verify content integrity after downloading. |
pid | String | The content parent's unique identifier (v4 UUID) |
claimed | Boolean | If true, the content has been claimed by the owner after a transfer. |
pinned | Boolean | If true, the content has been flagged as pinned. |
gid | String | The item's group ID |
delegate | String | The content's delegate address |
daytime | String | The day/time of the last modification of the content, encoded as a zero-padded hex string |
hash | String | The hash of the list, which is the hash of the concatenation of the hash value of each entry, in the order that they appear in the list. |
pubkey | String | The public key of the content owner |
Errors
/chainGET
Get a portion of the blockchain
Get a portion of the blockchain. Returns a list of blocks as validated by this node. Clients are responsible for validating this chain by issuing this query to a majority of nodes in the network.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
blocknum | Integer | The starting block number | Yes |
limit | Integer | The number of blocks limit, used for paging (if exceeds the value set in system.limit.chain.data, the value of system.limit.chain.data will be used) | Yes |
Output Parameters
Field | Type | Description |
---|
blocklist | Blockchain | A Blockchain object |
blocks | List | A list of Block objects |
block | Block | A Block object |
blockid | String | The block's unique identifier (Base31/8) |
blocknum | Integer | The block number; its maximum value must be one increment over the last block in the blockchain. |
phash | String | The SHA-256 hash of the previous block in the chain, represented as a zero-padded, 64-byte hex string. |
txids | String | A comma-delimited list of IDs of transactions in the block. The order of the transactions in the block is the order of the IDs in this list. |
solverid | String | The puzzle solver's ID, which is the SHA-256 hash of its public key. |
magicnum | Integer | The block's "magic number", which is the minimum positive integer that gives a zero-score starting puzzle. |
daytime | String | The day/time of the block, in UTC. Encoded as a 16-byte hex string. |
hash | String | The SHA-256 hash of the block, as a function of the concatenation of the values of "blockid", "blocknum", "daytime", "magicnum", "phash", "solverid" and the individual hash values of the transactions referred by the "txid" field. Represented as a zero-padded, 64-byte hex string. |
puzzlestart | String | The starting puzzle, as a function of the hash value. Represented as a comma-delimited list of 24 tiles, where teach tile is a bit stream [b0..b7], as per the protocol specification. |
solution | String | The puzzle solution, represented as a comma-delimited list of (row,column) integer pairs, where each pair are the zero-based row/column coordinates of the tile to move to the empty space of the puzzle. |
puzzlestop | String | The solved puzzle, which are the elements of "puzzlestart" after applying the solution. Represented as a comma-delimited list of 24 tiles, as per the protocol specification. The empty tile space is represented by an empty string (consecutive commas). |
puzzlescore | Integer | The puzzle score, as a function of the number of matching tile sides, as per the protocol specification. |
Errors
/chistGET
Display transaction history of a content item
Display transaction history of a content item
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
cid | String | The content's unique identifier (v4 UUID) | Yes |
offset | Integer | The records offset, used for paging | Yes |
limit | Integer | The record limit, used for paging (if exceeds the value set in system.limit.rec.data, the value of system.limit.rec.data will be used) | Yes |
Output Parameters
Field | Type | Description |
---|
transactions | TransactionList | A TransactionList object |
transactions | List | A list of Transaction objects |
transaction | Transaction | A Transaction object |
txid | String | The transaction's unique identifier (v4 UUID) |
daytime | String | The transaction day/time in UTC, encoded as a 16-byte hex string. |
amount | Integer | The amount of the transaction. The value of the amount in MFT is 1/1000000 of this value. |
fee | Integer | The fee to be paid to the broker. This value of the fee in MFT is 1/1000000 of this value. |
type | String | The transaction type |
brokerid | String | The broker address, which is the SHA-256 of its public key |
brokerkey | String | The public key of the broker, encoded as a 600-byte X.509 hex string. |
senderid | String | The sender's address, which is the SHA-256 of its public key |
senderkey | String | The public key of the sender , encoded as a 600-byte X.509 hex string. |
receiverid | String | The receiver's address, which is the SHA-256 of its public key |
receiverkey | String | The public key of the receiver, encoded as a 600-byte X.509 hex string |
rewardforid | String | For transactions of type RWD, the ID of the block for which a reward is being claimed. |
cdata | String | The contract data (if any), encoded in JSON |
hash | String | The SHA-256 hash of the transaction |
signature | String | The signature of the sender or the receiver (depending on the transaction type), as a function of the value of the "hash" field |
brokersig | String | The signature of the broker, as a function of the value of the "hash" field |
hash | String | The SHA-256 of the response, which is the hash of the concatenated hashes of all the transactions as they are ordered in the list. |
Errors
/ckeysGET
Get content keys
Get keys for a given address and content ID
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
gids | String | A comma-delimited list of group IDs to retrieve the keys for. Optional, if omitted will default to blank and all the group IDs for the given content will be returned. | No |
cids | String | A comma-delimited list of content IDs to get the keys for | Yes |
address | String | The address of the requestor for which the keys are requested. | Yes |
offset | Integer | The offset to start the results | Yes |
limit | Integer | The maximum number of records to return | Yes |
pubkey | String | The public key corresponding to the requestor's address, encoded as a 600-byte X.509 hex string. | Yes |
daytime | String | The timestamp of the request, encoded as a zero-padded 16-byte hex string. This value should be within five (5) seconds of the current date time of the server, otherwise the request will be rejected. | Yes |
hash | String | The SHA-256 hash of the request | Yes |
signature | String | The signature of the requestor, encoded as AAAA|hhhh, where AAAA is the name of the algorithm (as recognized by the package java.security) and hhhh is the binary value of the signature, encoded as a 512-byte hex string. | Yes |
Output Parameters
Field | Type | Description |
---|
response | ContentKeysList | A ContentKeysList object |
ckeys | List | A list of ContentKey objects, sorted by content id in ascending order and day/time in descending order |
ckey | ContentKey | A ContentKey object |
gid | String | The group ID |
address | String | The address to which the keys were sent |
ckey | String | The key to the content, encrypted with the public key of the address and encoded in Base64. |
daytime | String | The day/time of the KEY transaction, encoded as a zero-padded, 16-byte hex string |
hash | String | The SHA-256 hash of the entry |
hash | String | The SHA-256 hash of the response, which is the hash of the concatenation of the individual hashes. |
Errors
Code | Description |
---|
invalidHash | Invalid hash |
invalidSignature | Invalid signature |
/codeGET
Get latest version of code
Get latest version of code. Typicaly used by other nodes to upgrade the software to the latest version.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Field | Type | Description |
---|
file | File | A binary zip file containing the code of the node's current version of the software. |
Errors
/configGET
Get node configuration
Get node configuration
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Field | Type | Description |
---|
configuration | NodeConfiguration | A NodeConfiguration object. |
apiurl | String | The URL to access this node's API |
version | String | Software version number, in the format xx.yy, where
- xx is the major version number
- yy is the minor version number
All version number components are zero-padded to the left. |
minversion | String | The minimum software version number for other nodes to be accepted into the network by this node. |
degree | Integer | The broadcast degree, i.e. the number of nodes to which all broadcast messages will be forwarded. |
brokerid | String | The transaction broker's address, which is the SHA-256 hash of its public key. All fees processed by this node must be sent to this address. |
brokerkey | String | The node broker address's public key, encoded as a 600-byte X.509 hex string |
feeperc | Double | The fee percentage charged by this node's broker. All transactions processed by this node should include a fee that is equal to the base fee plus this percentage multiplied by the transaction's amount, rounded to the nearest integer and sent to the broker's address identified by the element "brokerid". |
basefee | Integer | The base fee charged by this node's broker. All transactions processed by this node should include a fee whose minimum is this fee amount. The fee may also include a percentage, as specified in the "feeperc" field. |
pubkey | String | The node's public key, encoded as a 600-byte X.509 hex string |
burn | List | A list of "burn" addresses listed in this node. Burn addresses can only be transferred to but no transfers can go from them. |
summary | Summary | A Summary object containing the burn address |
address | String | The burn address |
daytime | String | The node's current day/time in UTC. Encoded as a 16-byte hex string. The precision of this value must be +/-30 seconds within UTC; otherwise the node will not be allowed in the network. |
signature | String | The signature of the response, encoded as AAAA|hhhh, where AAAA is the name of the algorithm (as recognized by the package java.security) and hhhh is the binary value of the signature, encoded as a 512-byte hex string. |
Errors
/contentGET
Get content data
Get content data
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
cid | String | The content ID. If provided, a cursor ID and content length will be returned as a pipe (|) delimited line of text; otherwise the parameter "cursorid" must be provided. | No |
cursorid | String | The cursor ID. If provided, the next set of records for this cursor is returned. If omitted, a content ID must be provided. NOTE: The maximum time between calls must not exceed the number of expiration seconds specified in the setting system.content.cursor.expseconds; otherwise the cursor will be invalidated. | No |
limit | Integer | The maximum number of records to return. If this value exceeds the one specified by the setting system.content.cursor.limit, the value of the setting will be used instead. | Yes |
Output Parameters
Field | Type | Description |
---|
contentList | ContentList | A ContentList object |
blocks | List | A list of blocks that conform the content. |
block | ContentBufer | A ContentBuffer object |
blocknum | Integer | The block number (zero-based) |
phash | String | The hash of the previous block; for the first block, it is a hash of the concatenation of the content ID and the file key. |
cdata | String | The block data, encrypted with a secret key that must be known by the caller; and encoded in Base64. |
hash | String | The SHA-256 hash of the block, as a function of the concatenation of "cid", "blocknum", "cdata" and "phash". |
hash | String | The hash of the list, which is the hash of the concatenation of the hash value of each entry, in the order that they appear in the list. |
Errors
Code | Description |
---|
invalidID | Invalid ID |
/contentPOST
Post content for minting
Post content for minting. Must be invoked prior to minting with a CCT (Content Create) transaction.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
cid | String | The content ID (v4 UUID). If the invocation is for the first block (blocknum=0), there must not exist any pending or validated transaction referencing this ID; otherwise an invalidID error will be returned. | Yes |
blocknum | Integer | The sequence number of the block, zero-based. A maximum of 32K blocks is allowed. | Yes |
phash | String | The SHA-256 hash of the previous block, encoded as a zero-padded 64-byte hex string. This value should be the hash of the concatenation of the "blocknum', "cdata" and "phash" values of the previous block.
For the first block, this value should be the hash of the concatenation of "cid" and a random v4 UUID used as the "ckey" (content key) value of the CCT transaction; if the "ckey" value of the CCT transaction does not produce this hash value, the transaction will be rejected. | Yes |
cdata | String | The content data for the block, encrypted with a private key hash and encoded in Base64. The size of the block (after decoding) shall not exceed 32K. | Yes |
hash | String | The SHA-256 hash of the block, as a function of the concatenation of "cid", "blocknum", "cdata" and "phash". | Yes |
address | String | The address of the requestor, which is the SHA-256 hash of its public key. Only required for block #0. | No |
pubkey | String | The public key corresponding to the requestor's address, encoded as a 600-byte X.509 hex string. Only required for block #0. | No |
signature | String | The signature of the hash from the requestor, encoded as AAAA|hhhh, where AAAA is the name of the algorithm (as recognized by the package java.security) and hhhh is the binary value of the signature, encoded as a 512-byte hex string. Only required for block #0. | No |
Output Parameters
Errors
Code | Description |
---|
invalidBlockNumber | Invalid block number |
invalidID | Invalid ID |
invalidHash | Invalid hash |
bufferOverflow | Buffer overflow |
invalidContent | Invalid content |
/dataGET
Get full or partial data records of a database table
Get full or partial data records of a database table.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
daytime | String | The starting day/time of the records to be retrieved, encoded as a 16-byte hex string. All records whose day/time is greater or equal than this parameter are included. Should be zero (0) to get all records. | Yes |
table | String | The name of the database table from which records are to be retrieved. | Yes |
offset | Integer | The records offset, used for paging | Yes |
limit | Integer | The record limit, used for paging (if exceeds the value set in system.limit.rec.data, the value of system.limit.rec.data will be used) | Yes |
Output Parameters
Field | Type | Description |
---|
file | File | A binary stream with SQL insert statements corresponding to the data being retrieved. |
Errors
/dumpGET
Dump the configuration tables
Dump the configuration tables. Typically used by nodes to obtain the latest configuration prior to joining the network
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Field | Type | Description |
---|
file | File | The SQL script file |
Errors
/joinPOST
Join the network
Join the blockchain nodes network.
The requestor is responsible of joining the network by issuing this request to all nodes in the network.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
apiurl | String | The requesting node's API URL. This API will be invoked by all nodes in the network to qualify the node before admitting it to the network. | Yes |
Output Parameters
Field | Type | Description |
---|
address | String | The node's IP address |
Errors
Code | Description |
---|
requestDenied | Request denied |
/keypairGET
Get an importable broker key pair
Get an importable representation of this node's broker private/public key pair
Minimum seconds between requests: 0
Supported response formats: text
Input Parameters
Field | Type | Description | Required |
---|
appkey | String | The application key | Yes |
Output Parameters
Errors
Code | Description |
---|
unauthorized | Unauthorized requestor |
/namGET
Get a name-address mapping
Get a name-address mapping by returning an address mapped from a name. If no NAM was found, a NAM entry with an empty address is returned.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
name | String | The name to map, in the format [ <name> ] @ <base-name> where:
<name> is an optional name
<base-name> is the base name owned by a Name Service Provider | Yes |
Output Parameters
Field | Type | Description |
---|
nam | NAM | A NAM Object |
name | String | The name being mapped; this value is the same at the input parameter. |
address | String | The address mapped to |
daytime | String | The UCT day/time of the last update, represented as a zero-added, 16-byte hex string. |
hash | String | The SHA-256 hash of the response, as a function of "address", "daytime" and "name" |
Errors
Code | Description |
---|
objectNotFound | The requested object was not found in the database. |
/namrGET
Get a reverse name-address mapping
Get a reverse name-address mapping by returning a set of Name-Address Mappings (NAMs) to the addresses provided.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
addresses | String | A comma-delimited list of addresses for which the mappings are to be obtained. | Yes |
Output Parameters
Field | Type | Description |
---|
namList | NAMList | A NAMList object |
nams | List | A list of NAM objects |
nam | NAM | A NAM Object |
address | String | The address mapped to |
daytime | String | The UCT day/time of the last update, represented as a zero-added, 16-byte hex string. |
hash | String | The SHA-256 hash of the response, as a function of "address", "daytime" and "name" |
name | String | The name being mapped; this value is the same at the input parameter. |
hash | String | The SHA-256 hash of the response, which is the hash of the concatenation of the individual hash values in the returned list. |
Errors
Code | Description |
---|
objectNotFound | The requested object was not found in the database. |
/nodesGET
Get list of nodes in the blockchain network
Get list of nodes in the blockchain network, sorted by hit rate in descending order.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Field | Type | Description |
---|
nodes | NodeList | A NodeList object |
nodes | List | A list of Node objects |
node | Node | A Node object |
address | String | The IPv4 address of the node. This is the node's unique identifier. |
hitrate | Integer | The node's hit rate, which is an integer number between 1024 and -1024. |
apiurl | String | The node's API URL |
version | String | The node's software version number |
minversion | String | The node's minimum software version acceptance |
degree | Integer | The node's broadcast degree (i.e. the number of nodes to which message will be broadcast) |
brokerid | String | The transaction broker's address, which is the SHA-256 hash of its public key. All fees processed by this node must be sent to this address. |
brokerkey | String | The node broker address's public key, encoded as a 600-byte X.509 hex string |
pubkey | String | The public key of the node, encoded as a 600-byte X.509 hex string. |
hash | String | The SHA-256 hash of the node, as a function of the concatenation of its attribute values. |
hash | String | The SHA-256 of the response, which is the hash of the concatenated hashes of all the nodes as they are ordered in the list. |
Errors
/noticesGET
Get list of pending notifications
Get list of pending notifications
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
address | String | The address for which the notifications will be retrieved | Yes |
Output Parameters
Field | Type | Description |
---|
response | NotificationsList | A NotificationsList object |
notices | List | A list of Notification objects, sorted by day/time in ascending order |
notice | Notification | A Notification object |
noticeid | String | The notification's unique identifier |
daytime | String | The day/time of the notification, encoded as a zero-padded, 16-byte hex string |
message | String | The message associated with the notification |
txtype | String | The transaction type being asked for in the notification |
receiverid | String | The receiver's unique identifier (address) |
receiverkey | String | The receiver's public key |
amount | Long | The amount requested, in MFT |
scxid | String | The ID of the smart contract execution (SCX) transaction associated with this notification |
hash | String | The SHA-256 hash of the response, which is the hash of the concatenation of the individual hashes. |
Errors
/nspsGET
Get list of Name Service Providers (NSPs)
Get list of Name Service Providers (NSPs)
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
name | String | If provided, only an NSP that matches this name will be returned. | No |
Output Parameters
Field | Type | Description |
---|
nspList | NSPList | A NSPList object |
providers | List | A list of NSP objects |
nsp | NSP | An NSP object |
name | String | The name reserved by the NSP |
ownername | String | The name of the NSP |
url | String | The website URL of the NSP |
logourl | String | The URL of the NSP's logo |
webhooks | WebHooks | A WebHooks object |
nam | String | The URL of the web hook used to register a Name-Address Mapping (NAM) with the NSP |
idv | String | The URL of the web hook used to query a Identity Verification (IDV) from the NSP |
daytime | String | The day/time of the last registration, encoded as a zero-padded hex string |
expired | Boolean | If true, the NSP registration has expired |
address | String | The NSP owner's address |
hash | String | The SHA-256 hash of the NSP object |
hash | String | The SHA-256 of the response, which is the hash of the concatenated hashes of all the transactions as they are ordered in the list. |
Errors
/pendingGET
Get list of pending transactions
Get a list of qualified, pending transactions, which are recent transactions that are either (i) not present in any block; or (ii) not present in a specific blockchain. Typically used by clients to build a new transaction block to be added to the blockchain.
A transaction is considered qualified if it satisfies all the conditions to be part of the blockchain to which the block identified by "blockid" belongs.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
blockid | String | The ID of the last block in the chain that is being considered for including the transactions. Any transactions in this chain won't be included in the results. Leave blank to include transactions that do not belong to any chain. | Yes |
address | String | The address (SHA-256 hash of the address's public key) for which recent transactions are to be obtained. To get transactions for all addresses, leave blank. If this parameter is provided, the parameter blockid is ignored and the latest block in the node's blockchain will be used. | Yes |
Output Parameters
Field | Type | Description |
---|
transactions | TransactionList | A TransactionList object |
transactions | List | A list of Transaction objects |
transaction | Transaction | A Transaction object |
txid | String | The transaction's unique identifier (v4 UUID) |
daytime | String | The transaction day/time in UTC, encoded as a 16-byte hex string. |
amount | Integer | The amount of the transaction. The value of the amount in MFT is 1/1000000 of this value. |
fee | Integer | The fee to be paid to the broker. This value of the fee in MFT is 1/1000000 of this value. |
type | String | The transaction type |
brokerid | String | The broker address, which is the SHA-256 of its public key |
brokerkey | String | The public key of the broker, encoded as a 600-byte X.509 hex string. |
senderid | String | The sender's address, which is the SHA-256 of its public key |
senderkey | String | The public key of the sender , encoded as a 600-byte X.509 hex string. |
receiverid | String | The receiver's address, which is the SHA-256 of its public key |
receiverkey | String | The public key of the receiver, encoded as a 600-byte X.509 hex string |
rewardforid | String | For transactions of type RWD, the ID of the block for which a reward is being claimed. |
hash | String | The SHA-256 hash of the transaction |
signature | String | The signature of the sender or the receiver (depending on the transaction type), as a function of the value of the "hash" field |
brokersig | String | The signature of the broker, as a function of the value of the "hash" field |
hash | String | The SHA-256 of the response, which is the hash of the concatenated hashes of all the transactions as they are ordered in the list. |
Errors
/puzzleGET
Generate a puzzle
Generate a puzzle with a random solution. Typically used by nodes in the network to attempt a machine-based validation that may be successful if no human validation is submitted. Only available to authorized IP addresses.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
blockid | String | The block's unique identifier (Base31/8) | Yes |
blocknum | Integer | The block number; its maximum value must be one increment over the last block in the blockchain. | Yes |
phash | String | The SHA-256 hash of the previous block in the chain, represented as a zero-padded, 64-byte hex string. For the first block, this value must be all-zeroes. | Yes |
txids | String | A comma-delimited list of transaction IDs to include in the block. All transactions must be in the node's pending queue. The order of the transactions in the block is the order of the IDs in this list. | Yes |
solverid | String | The puzzle solver's ID, which is the SHA-256 hash of its public key. | Yes |
daytime | String | The day/time of the block, in UTC. Encoded as a 16-byte hex string. This value must be greater than the day/time of the last transaction in the block, less than the node's current day/time and not older than 10 minutes from this node's current day/time; otherwise the block will be rejected. | Yes |
donotsolve | Boolean | Do not solve the puzzle. Optional- defaults to false.
When true, the puzzle is not solved; this is typically used to create a puzzle for a human to solve. | No |
Output Parameters
Field | Type | Description |
---|
block | Block | A Block object with a generated puzzle |
blockid | String | The block's unique identifier (Base31/8) |
blocknum | Integer | The block number; its maximum value must be one increment over the last block in the blockchain. |
phash | String | The SHA-256 hash of the previous block in the chain, represented as a zero-padded, 64-byte hex string. For the first block, this value must be all-zeroes. |
txids | String | A comma-delimited list of transaction IDs to include in the block. All transactions must be in the node's pending queue. The order of the transactions in the block is the order of the IDs in this list. |
solverid | String | The puzzle solver's ID, which is the SHA-256 hash of its public key. |
magicnum | Integer | The block's "magic number", which is the minimum positive integer that gives a zero-score starting puzzle. |
daytime | String | The day/time of the block, in UTC. Encoded as a 16-byte hex string. This value must be greater than the day/time of the last transaction in the block, less than the node's current day/time and not older than 10 minutes from this node's current day/time; otherwise the block will be rejected. |
hash | String | The SHA-256 hash of the block, as a function of the concatenation of the values of "blockid", "blocknum", "daytime", "magicnum", "phash", "solverid" and the individual hash values of the transactions referred by the "txid" field. Represented as a zero-padded, 64-byte hex string. |
puzzlestart | String | The starting puzzle, as a function of the hash value. Represented as a comma-delimited list of 24 tiles, where teach tile is a bit stream [b0..b7], as per the protocol specification. |
solution | String | A random puzzle solution, represented as a comma-delimited list of (row,column) integer pairs, where each pair are the zero-based row/column coordinates of the tile to move to the empty space of the puzzle. |
puzzlestop | String | A randomly-solved puzzle, which are the elements of "puzzlestart" after applying the random solution. Represented as a comma-delimited list of 24 tiles, as per the protocol specification. The empty tile space is represented by an empty string (consecutive commas). |
puzzlescore | Integer | The puzzle score, as a function of the number of matching tile sides, as per the protocol specification. |
Errors
Code | Description |
---|
objectNotFound | The requested object was not found in the database. |
/queryGET
Process a distributed query
Process a distributed query among nodes in the network. Only available to authorized IP addresses.
The only required parameters are the type of query and the response format, given in the "type" and "format" parameters, respectively; other parameters depend on the type of query.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
type | String | The type of query. Current supported query types are: "/pending", "/block" and "/transacts" | Yes |
format | String | The format of the response, as specified by the requested operation type | Yes |
Output Parameters
Field | Type | Description |
---|
response | String | The response string, encoded in the format specified by the "format" parameter. |
Errors
Code | Description |
---|
unauthorized | Unauthorized requestor |
/recoverGET
Internal recovery
Internal recovery
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
appkey | String | The application key | Yes |
txid | String | The model transaction ID to use for recovery | Yes |
Output Parameters
Errors
/schemaGET
Get the SQL schema for data tables
Get the schema for data tables as a SQL script file.
Warning:The script contains commands to drop tables; running them against an existing database will erase the contents of such tables.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Field | Type | Description |
---|
file | File | The SQL script for schema creation. |
Errors
/statementGET
Get list of transactions for an address
Get list of pending, accepted and validated transactions for an address
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
address | String | The address for which the transactions will be returned | Yes |
status | String | The status of the last transaction returned in the last call. Used to determine whether to retrieve more pending transactions (always returned first) or non-pending. | Yes |
offset | Integer | The records offset, used for paging | Yes |
limit | Integer | The record limit, used for paging (if exceeds the value set in system.limit.rec.data, the value of system.limit.rec.data will be used) | Yes |
Output Parameters
Field | Type | Description |
---|
transactions | TransactionList | A TransactionList object |
transactions | List | A list of Transaction objects |
transaction | Transaction | A Transaction object |
txid | String | The transaction's unique identifier (v4 UUID) |
daytime | String | The transaction day/time in UTC, encoded as a 16-byte hex string. |
amount | Integer | The amount of the transaction. The value of the amount in MFT is 1/1000000 of this value. |
fee | Integer | The fee to be paid to the broker. This value of the fee in MFT is 1/1000000 of this value. |
type | String | The transaction type |
brokerid | String | The broker address, which is the SHA-256 of its public key |
senderid | String | The sender's address, which is the SHA-256 of its public key |
receiverid | String | The receiver's address, which is the SHA-256 of its public key |
hash | String | The SHA-256 hash of the transaction |
status | String | The status of the transaction, which can be either: (P)ending, (A)ccepted in a block or (V)alidated |
hash | String | The SHA-256 of the response, which is the hash of the concatenated hashes of all the transactions as they are ordered in the list. |
Errors
/summariesGET
Get list of address summaries
Get list of address summaries. Typically used by clients to display addresses with summaries.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
addresses | String | A comma-delimited list of addresses. Each address is the zero-padded, hex-encoded SHA-256 hash of its public key (after encoding it in zero-padded hex) | Yes |
bdaytime | String | The day/time of the beginning of the summary in UTC, encoded as a 16-byte hex string. If provided, only transactions that fall in the range (bdaytime,edaytime) will be included. | No |
edaytime | String | The day/time of the ending of the summary in UTC, encoded as a 16-byte hex string. If provided, only transactions that fall in the range (bdaytime,edaytime) will be included. | No |
txtype | String | The transaction type to include in the summary. If omitted, all transaction types will be included. | No |
Output Parameters
Field | Type | Description |
---|
response | Summaries | A Summaries object |
hash | String | The SHA-256 hash of the concatenation of the individual hash of each summary, in the order they are returned.. |
summaries | List | A list of Summary objects |
summary | Summary | A Summary object |
address | String | The address, which is the SHA-256 hash of its public key, encoded as a zero-padded hex string |
balance | Long | The validated balance of the address, which is the net sum of all confirmed transactions. A transaction is confirmed if it has been validated at least six blocks earlier. The value of this amount in MFT is 1/1000000 of this value. |
available | Long | The available balance, which is the balance minus all non-confirmed and pending debit transactions. The value of this amount in MFT is 1/1000000 of this value. |
score | Integer | The total accumulated mining score |
hash | String | The SHA-256 hash of the summary item. |
Errors
/throttleGET
Verify throttle (UPL) transaction for an address
Verify the existence of a throttle (UPL) transaction for an address.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
address | String | The address to check the throttle for | Yes |
Output Parameters
Field | Type | Description |
---|
throttle | Throttle | A Throttle object |
daytime | String | The day/time of the last UPL transaction, encoded as a zero-padded, 16-byte hex string. If no UPL transaction was found, an all-zero value is returned. |
hash | String | The SHA-256 of the response |
Errors
/transactGET
Get transaction data
Get transaction data. Typically used by clients to verify that a transaction was accepted by a node.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
txid | String | The transaction ID (v4 UUID) | Yes |
Output Parameters
Field | Type | Description |
---|
transaction | Transaction | A Transaction object |
txid | String | The transaction's unique identifier (v4 UUID) |
daytime | String | The transaction day/time in UTC, encoded as a 16-byte hex string. |
amount | Long | The amount of the transaction. The value of the amount in MFT is 1/1000000 of this value. |
fee | Long | The fee to be paid to the broker. This value of the fee in MFT is 1/1000000 of this value. |
type | String | The transaction type |
brokerid | String | The node's broker unique identifier, which is the SHA-256 hash of the broker's public key, encoded as a 64-byte hex string. |
brokerkey | String | The broker address's public key, encoded as a 600-byte X.509 hex string. |
senderid | String | The sender's unique identifier, which is the SHA-256 hash of the sender's public key, encoded as a 64-byte hex string. |
senderkey | String | The public key of the sender , encoded as a 600-byte X.509 hex string. |
receiverid | String | The receiver's unique identifier, which is the SHA-256 hash of the receiver's public key, encoded as a 64-byte hex string. |
receiverkey | String | The public key of the receiver, encoded as a 600-byte X.509 hex string |
rewardforid | String | For transactions of type RWD, the ID of the block for which a reward is being claimed. Must be empty for other types of transactions. |
cdata | String | The contract data (if any), encoded in JSON |
ptxid | String | The parent transaction ID (if any) |
hash | String | The SHA-256 hash of the transaction |
signature | String | The signature of the sender or the receiver (depending on the transaction type), as a function of the value of the "hash" field |
brokersig | String | The signature of the broker, as a function of the value of the "hash" field |
status | String | The status of the transaction, which can be either: (P)ending, (A)ccepted in a block or (V)alidated |
Errors
Code | Description |
---|
objectNotFound | The requested object was not found in the database. |
/transactPOST
Add a transaction
Add a transaction to the pending queue. If the request is valid, it will be broadcast to all nodes in the blockchain network. The requestor is responsible for verifying that the transaction was accepted by querying a majority of nodes in the network.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
txid | String | The transaction's unique identifier (v4 UUID). No other transaction can have this ID, otherwise the request will not be broadcast and the transaction will not be added to the pending queue. | Yes |
daytime | String | The transaction day/time in UTC, encoded as a 16-byte hex string. Cannot be later than 30 seconds after this node's current day/time. | Yes |
amount | Long | The amount of the transaction. The value of the amount in MFT is 1/1000000 of this value. | Yes |
fee | Long | The fee to be paid to the broker. This value of the fee in MFT is 1/1000000 of this value. | Yes |
type | String | The transaction type, which could be either:
XFR - Transfer currency from one address to another
RWD - Block validation reward | Yes |
brokerid | String | This node's broker unique identifier, which is the SHA-256 hash of the broker's public key, encoded as a 64-byte hex string. Must match value of "brokerid" from this node. Once the transaction is validated, the broker's fee is added to this address. | Yes |
brokerkey | String | The public key of the processing node broker's address, encoded as a 600-byte X.509 hex string. | Yes |
senderid | String | The sender's unique identifier, which is the SHA-256 hash of the sender's public key, encoded as a 64-byte hex string. | Yes |
senderkey | String | The public key of the sender , encoded as a 600-byte X.509 hex string. | Yes |
receiverid | String | The receiver's unique identifier, which is the SHA-256 hash of the receiver's public key, encoded as a 64-byte hex string. | Yes |
receiverkey | String | The public key of the receiver, encoded as a 600-byte X.509 hex string. | Yes |
rewardforid | String | For transactions of type RWD, the ID of the block for which a reward is being claimed. The value of "receiverid" of this transaction must match value the block's "solverid", which is the solver's public key hash. Must be empty for other types of transactions. | Yes |
cdata | String | The contract data (if any), encoded in JSON | No |
ptxid | String | The parent transaction ID. If omitted, a blank value will be assumed. | No |
hash | String | The SHA-256 hash of the transaction, as a function of the concatenation of the values of the following fields, in the following order: amount, brokerid, brokerkey, daytime, fee, receiverid, receiverkey, rewardforid, senderid, senderkey, txid, type. Represented as a zero-padded, 64-byte hex string. | Yes |
signature | String | The signature of the sender or receiver, depending on the type of transaction. The signature is a function of the value of the "hash" field. Encoded as AAAA|hhhh, where AAAA is the name of the algorithm (as recognized by the package java.security) and hhhh is the binary value of the signature, encoded as a 512-byte hex string. | Yes |
brokersig | String | The signature of the broker, as a function of the value of the "hash" field. Encoded as AAAA|hhhh, where AAAA is the name of the algorithm (as recognized by the package java.security) and hhhh is the binary value of the signature, encoded as a 512-byte hex string. | Yes |
Output Parameters
Errors
Code | Description |
---|
duplicateID | Duplicate ID |
invalidKey | Invalid key |
transactionDenied | Transaction denied |
invalidID | Invalid ID |
invalidType | Invalid type |
/transactsGET
Get a list of transactions from a list of transaction IDs
Get a list of transactions from a list of transaction IDs. Transactions in the response are ordered by their timestamp ("daytime") in ascending order; and then by transaction ID.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
ptxid | String | The ID of the parent transaction. If provided, all transactions that are children of this transaction will be returned. | No |
txids | String | A comma-delimited list of transactions IDs. If provided, all transactions whose ID is in this list will be included in the result; if omitted, then the parameter "ptxid" is mandatory and all the children of the transaction identified by "ptxid" will be included in the result. | No |
Output Parameters
Field | Type | Description |
---|
transactions | TransactionList | A TransactionList object |
transactions | List | A list of Transaction objects |
transaction | Transaction | A Transaction object |
txid | String | The transaction's unique identifier (v4 UUID) |
daytime | String | The transaction day/time in UTC, encoded as a 16-byte hex string. |
amount | Integer | The amount of the transaction. The value of the amount in MFT is 1/1000000 of this value. |
fee | Integer | The fee to be paid to the broker. This value of the fee in MFT is 1/1000000 of this value. |
type | String | The transaction type |
brokerid | String | The broker address, which is the SHA-256 of its public key |
brokerkey | String | The public key of the broker, encoded as a 600-byte X.509 hex string. |
senderid | String | The sender's address, which is the SHA-256 of its public key |
senderkey | String | The public key of the sender , encoded as a 600-byte X.509 hex string. |
receiverid | String | The receiver's address, which is the SHA-256 of its public key |
receiverkey | String | The public key of the receiver, encoded as a 600-byte X.509 hex string |
rewardforid | String | For transactions of type RWD, the ID of the block for which a reward is being claimed. |
cdata | String | The contract data (if any), encoded in JSON |
ptxid | String | The parent transaction ID (if any) |
hash | String | The SHA-256 hash of the transaction |
signature | String | The signature of the sender or the receiver (depending on the transaction type), as a function of the value of the "hash" field |
brokersig | String | The signature of the broker, as a function of the value of the "hash" field |
hash | String | The SHA-256 of the response, which is the hash of the concatenated hashes of all the transactions as they are ordered in the list. |
Errors
/updatePOST
Update data from another node
Update the data from another node. Can only be invoked by authorized IP addresses.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
appkey | String | The application key | Yes |
apiurl | String | The API URL of the node from which the update will be performed. | Yes |
Output Parameters
Errors
/upgradeGET
Get installation script
Get an installation script. Typically used during initial configuration of a broker node.
Minimum seconds between requests: 0
Supported response formats: text
Input Parameters
Field | Type | Description | Required |
---|
Output Parameters
Errors
/upgradePOST
Upgrade software from another node
Upgrade the software from another node. Can only be invoked by authorized IP addresses. Upon a successful upgrade, the node's server will be rebooted.
Minimum seconds between requests: 0
Supported response formats: xml,json
Input Parameters
Field | Type | Description | Required |
---|
appkey | String | The application key | Yes |
apiurl | String | The API URL of the node from which the upgrade will be performed. | Yes |
Output Parameters
Errors