The SDK of the contract blockchain of Ant Blockchain involves eight data models:
Account Model
The account model stores account information including the account address, the account balance, and the account weight.
Parameter |
Type |
Description |
identity |
Identity |
The business ID of the account. |
balance |
long |
The balance. |
authMap |
AuthMap |
The public key and weight value of an account or a smart contract. |
recoverKey |
PublicKey |
The recovery public key that is used when the private key is lost. |
recoverTimestamp |
long |
The last recovery time. |
status |
ObjectStatus |
The status of the object. 0: NORMAL. 1: FREEZE. 2: RECOVERING. |
encryptionKey |
String |
The public key used to encrypt the transaction amount in a smart contract. |
Contract Model
Parameter |
Type |
Description |
identity |
Identity |
The business ID of the account. |
balance |
long |
The balance. |
authMap |
AuthMap |
The public key and weight value of an account or a smart contract. |
recoverKey |
PublicKey |
The recovery public key that is used when the private key is lost. |
recoverTimestamp |
long |
The last recovery time. |
status |
ObjectStatus |
The status of the object. 0: NORMAL. 1: FREEZE. 2: RECOVERING. |
encryptionKey |
String |
The public key that is used to encrypt the transaction amount in a smart contract. |
storageRoot |
Identity |
The root node hash of the Merkle tree in the world state. |
codeHash |
Identity |
The smart contract code hash. |
code |
byte[] |
The smart contract code. |
Transaction Model
TransactionDO displays all information of a transaction. But the required parameters vary with the request types. When you use the SDK, you do not need to construct TransactionDO. You can directly use the corresponding service.
Parameter |
Type |
Description |
hash |
String |
The transaction hash composed of all fields excluding the signature field. |
type |
TransactionType |
The type of the transaction. |
timestamp |
long |
The timestamp of the transaction. |
nonce |
Fixed64BitUnsignedInteger |
Prevents replay attacks. |
period |
long |
The time in milliseconds when the transaction starts or ends. This parameter can be extended. |
from |
String |
The sender of the transaction. |
to |
String |
The recipient of the transaction. |
value |
Fixed64BitUnsignedInteger |
The transferred amount. |
gas |
Fixed64BitUnsignedInteger |
The transaction fee paid by the source account for the transaction. |
data |
byte[] |
The encoding of the transaction data. |
signatureList |
List |
The signature list. You can obtain this list by signing the hash using one or multiple private keys. |
groupId |
Fixed20ByteArray |
The transaction is executed in a transaction group. |
extensions |
List |
This field is used as the proof of work in a smart contract. |
Receipt Model
A transaction is completed when it is added to a block, and you can query the transaction receipt on the client. The transaction receipt model includes the following elements:
Parameter |
Type |
Description |
result |
long |
The transaction result. |
gasUsed |
BigInteger |
The transaction fee paid by the source account for a transaction. |
logs |
List |
The logs of transaction executions. |
output |
byte[] |
The output of the smart contract. |
Log Model
The log model is a storage structure for output log entries.
Parameter |
Type |
Description |
from |
String |
The sender of the transaction. |
to |
String |
The recipient of the transaction. |
topics |
List |
The subscribed topics. |
logData |
byte[] |
The log data generated by the transaction. |
Block Model
A block is divided into two parts: the block header and the block body.
Parameter |
Type |
Description |
blockHeader |
BlockHeader |
The block header. |
blockBody |
blockBody |
The block body. |
Parameter |
Type |
Description |
hash |
String |
The block header hash. |
version |
long |
The version of the block header. |
number |
BigInteger |
The block number. |
parentHash |
String |
The previous block hash. |
transactionRoot |
String |
The root node hash of the Merkle tree generated by the transaction in the block body. |
receiptRoot |
String |
The root node hash of the Merkle tree generated by the receipts in the block body. |
stateRoot |
String |
The root node hash of the Merkle tree in the world state. |
gasUsed |
BigInteger |
The total gas consumed by transactions. |
timestamp |
long |
The timestamp. |
logBloom |
String |
Log’s Bloom filter. |
Parameter |
Type |
Description |
transactionList |
List |
The transaction list. |
receiptList |
List |
The receipt list. |
consensusProof |
byte[] |
The consensus proof. |
Parameter |
Type |
Description |
identity |
String |
The name of the SDK instance. |
clientType |
ClientTypeEnum |
The type of the network connection. |
hashType |
HashTypeEnum |
The type of the hash algorithm. |
signType |
SignTypeEnum |
The type of the signature algorithm. |
codecType |
CodecTypeEnum |
The encoding type of the data. |
socketAddress |
SocketAddress |
The primary node. |
sslOption |
ISslOption |
The configurations for TLS connection. |
backups |
List |
The backup nodes. Not required. |
Parameter |
Type |
Description |
keyBytes |
byte[] |
The private key array on the client. |
certBytes |
byte[] |
The certificate array on the client. |
keyPassword |
String |
The key password on the client. |
trustStoreBytes |
byte[] |
The CA certificate byte array. |
trustStorePassword |
String |
The password of the CA certificate. |
userPrivateKey |
PrivateKey |
The key that is used to sign transactions. It is required. |
Common Extension Parameters
Parameter |
Type |
Description |
privateKeyList |
List |
Optional. The private key list required to execute a transaction. |
gas |
BigInteger |
Required. The gas set for a transaction. |
localBlockNumber |
BigInteger |
Optional. The specified block number of a local transaction. |
type |
EnvelopeType.DEFAULT |
Optional. The field required for data isolation. It is set to DEFAULT by default. |
envelopePublicKey |
String |
Optional. The public key used for data isolation and encryption. |
groupId |
Fixed20ByteArray |
Optional. The group ID to be executed for data isolation. |
extensions |
List |
Optional. The specified extension parameters required for privacy protection. |
Parameter |
Type |
Description |
mychainParams |
MychainParams |
Optional. An extended data structure suitable for the SDK. |
timestamp |
long |
Optional. The timestamp of the transaction. |
period |
long |
Optional. The time in milliseconds when the transaction starts or ends. |
nonce |
Fixed64BitUnsignedInteger |
Optional. Prevents replay attacks. |