RPC List

For the specific definition of API, please refer to the following link: api/api.proto

1. Get account information

rpc GetAccount (Account) returns (Account) {}

Nodes: Fullnode

2. STB transfer

rpc CreateTransaction (TransferContract) returns (Transaction) {}

Nodes: Fullnode

3. Broadcast transaction

rpc BroadcastTransaction (Transaction) returns (Return) {}

Nodes: Fullnode

Description: Transfer, vote, issuance of token, or participation in token offering. Sending signed transaction information to node, and broadcasting it to the entire network after executive verification.

4. Create an account

rpc CreateAccount (AccountCreateContract) returns (Transaction) {}

Nodes: FullNode

5. Account name update

rpc UpdateAccount (AccountUpdateContract) returns (Transaction) {}

Nodes: Fullnode

6. Vote for Governor candidates

rpc VoteExecutiveAccount (VoteExecutiveContract) returns (Transaction) {}

Nodes: FullNode

7. Query the ratio of brokerage of the executive

rpc GetBrokerageInfo (BytesMessage) returns (NumberMessage) {}

Nodes: FullNode

8. Query unclaimed reward

rpc GetRewardInfo (BytesMessage) returns (NumberMessage) {}

Nodes: FullNode

9. Update the ratio of brokerage

rpc UpdateBrokerage (UpdateBrokerageContract) returns (TransactionExtention) {}

Nodes: FullNode

10. Issue a token

rpc CreateAssetIssue (AssetIssueContract) returns (Transaction) {}

Nodes: FullNode

11. Query of list of executives

rpc ListExecutivees (EmptyMessage) returns (ExecutiveList) {}

Nodes: FullNode

12. Application for Governor

rpc CreateExecutive (ExecutiveCreateContract) returns (Transaction) {}

Nodes: FullNode

Description: To apply to become STABILA’s Governor candidate.

13. Information update of executives

rpc UpdateExecutive (ExecutiveUpdateContract) returns (Transaction) {}

Nodes: FullNode

Description: Update the website url of the GOV.

14. Token transfer

rpc TransferAsset (TransferAssetContract) returns (Transaction){}

Node: FullNode

15. Participate a token

rpc ParticipateAssetIssue (ParticipateAssetIssueContract) returns (Transaction) {}

Nodes: FullNode

16. Query the list of nodes connected to the ip of the api

rpc ListNodes (EmptyMessage) returns (NodeList) {}

Nodes: FullNode

17. Query the list of all issued tokens

rpc GetAssetIssueList (EmptyMessage) returns (AssetIssueList) {}

Nodes: FullNode

18. Query the token issued by a given account

rpc GetAssetIssueByAccount (Account) returns (AssetIssueList) {}

Nodes: FullNode

19. Query the token information by token name

rpc GetAssetIssueByName (BytesMessage) returns (AssetIssueContract) {}

Nodes: FullNode

20. Query the list of tokens by timestamp

rpc GetAssetIssueListByTimestamp (NumberMessage) returns (AssetIssueList){}

Nodes: FullNode

21. Get current block information

rpc GetNowBlock (EmptyMessage) returns (Block) {}

Nodes: FullNode

22. Get a block by block height

rpc GetBlockByNum (NumberMessage) returns (Block) {}

Nodes: FullNode

23. Get the total number of transactions

rpc TotalTransaction (EmptyMessage) returns (NumberMessage) {}

Nodes: FullNode

24. Query the transaction by transaction id

rpc getTransactionById (BytesMessage) returns (Transaction) {}

Nodes: FullNode

25. Stake STB

rpc CdBalance (CdBalanceContract) returns (Transaction) {}

Nodes: FullNode

26. Unstake STB

rpc UncdBalance (UncdBalanceContract) returns (Transaction) {}

Nodes: FullNode

27. Block producing reward redemption

rpc WithdrawBalance (WithdrawBalanceContract) returns (Transaction) {}

Nodes: FullNode

27. Unstake token balance

rpc UncdAsset (UncdAssetContract) returns (Transaction) {}

Nodes: FullNode

29. Query the next maintenance time

rpc GetNextMaintenanceTime (EmptyMessage) returns (NumberMessage) {}

Nodes: FullNode

30. Query the transaction fee & block information

rpc GetTransactionInfoById (BytesMessage) returns (TransactionInfo) {}

Nodes: FullNode

31. Query block information by block id

rpc GetBlockById (BytesMessage) returns (Block) {}

Nodes: FullNode

32. Update token information

rpc UpdateAsset (UpdateAssetContract) returns (Transaction) {}

Nodes: FullNode

Description: Token update can only be initiated by the token issuer to update token description, url, maximum bandwidth consumption by each account and total bandwidth consumption.

33. Query the list of all the tokens by pagination

rpc GetPaginatedAssetIssueList (PaginatedMessage) returns (AssetIssueList) {}

Nodes: FullNode

34. To sign a transaction

rpc GetTransactionSign (TransactionSign) returns (Transaction) {}

Nodes: FullNode

35. Address and private key creation

rpc CreateAdresss (BytesMessage) returns (BytesMessage) {}

Nodes: FullNode

36. STB easy transfer

rpc EasyTransfer (EasyTransferMessage) returns (EasyTransferResponse) {}

Nodes: FullNode

37. Deploy a smart contract

rpc DeployContract (CreateSmartContract) returns (TransactionExtention) {}

Nodes: FullNode

38. Trigger a smart contract

rpc TriggerContract (TriggerSmartContract) returns (TransactionExtention) {}

Nodes: FullNode

39. Create a shielded transaction

rpc CreateShieldedTransaction (PrivateParameters) returns (TransactionExtention) {}

Nodes: FullNode

40. Get a Merkle tree information of a note

rpc GetMerkleTreeVoucherInfo (OutputPointInfo) returns (IncrementalMerkleVoucherInfo) {}

Nodes: FullNode

41. Scan note by ivk

rpc ScanNoteByIvk (IvkDecryptParameters) returns (DecryptNotes) {}

Nodes: FullNode

42. Scan note by ovk

rpc ScanNoteByOvk (OvkDecryptParameters) returns (DecryptNotes) {}

Nodes: FullNode

43. Get spending key

rpc GetSpendingKey (EmptyMessage) returns (BytesMessage) {}

Nodes: FullNode

44. Get expanded spending key

rpc GetExpandedSpendingKey (BytesMessage) returns (ExpandedSpendingKeyMessage) {}

Nodes: FullNode

45. Get ak from ask

rpc GetAkFromAsk (BytesMessage) returns (BytesMessage) {}

Nodes: FullNode

46. Get nk from nsk

rpc GetNkFromNsk (BytesMessage) returns (BytesMessage) {}

Nodes: FullNode

47. Get incoming viewing key

rpc GetIncomingViewingKey (ViewingKeyMessage) returns (IncomingViewingKeyMessage) {}

Nodes: FullNode

48. Get diversifier

rpc GetDiversifier (EmptyMessage) returns (DiversifierMessage) {}

Nodes: FullNode

49. Get zen payment address

rpc GetZenPaymentAddress (IncomingViewingKeyDiversifierMessage) returns (PaymentAddressMessage) {}

Nodes: FullNode

50. Get rcm

rpc GetRcm (EmptyMessage) returns (BytesMessage) {}

Nodes: FullNode

51. Get a note status of is spent or not

rpc IsSpend (NoteParameters) returns (SpendResult) {}

Nodes: FullNode

52. Create a shielded transaction without using ask

rpc CreateShieldedTransactionWithoutSpendAuthSig (PrivateParametersWithoutAsk) returns (TransactionExtention) {}

Nodes: FullNode

53. Create a shielded transaction hash

rpc GetShieldTransactionHash (Transaction) returns (BytesMessage) {}

Nodes: FullNode

54. Create a signature for a shielded transaction

rpc CreateSpendAuthSig (SpendAuthSigParameters) returns (BytesMessage) {}

Nodes: FullNode

55. Create a shield nullifier

rpc CreateShieldNullifier (NfParameters) returns (BytesMessage) {}

Nodes: FullNode

56. Get new shielded address

rpc GetNewShieldedAddress (EmptyMessage) returns (ShieldedAddressInfo){}

Nodes: FullNode

57. Create shielded contract parameters

rpc CreateShieldedContractParameters (PrivateShieldedSRC20Parameters) returns (ShieldedSRC20Parameters) {}

Nodes: FullNode

58. Create shielded contract parameters without ask

rpc CreateShieldedContractParametersWithoutAsk (PrivateShieldedSRC20ParametersWithoutAsk) returns (ShieldedSRC20Parameters) {}

Nodes: FullNode

59. Scan shielded SRC20 notes by ivk

rpc ScanShieldedSRC20NotesbyIvk (IvkDecryptSRC20Parameters) returns (DecryptNotesSRC20) {}

Nodes: FullNode

60. Scan shielded SRC20 notes by ovk

rpc ScanShieldedSRC20NotesbyOvk (OvkDecryptSRC20Parameters) returns (DecryptNotesSRC20) {}

Nodes: FullNode

61. Get the status of shielded SRC20 note of spent or not

rpc IsShieldedSRC20ContractNoteSpent (NfSRC20Parameters) returns (NullifierResult) {}

Nodes: FullNode

62. Get the trigger input for the shielded SRC20

  rpc GetTriggerInputForShieldedSRC20Contract (ShieldedSRC20TriggerContractParameters) returns (BytesMessage) {}

Nodes: FullNode

63. Create an market order Interface statement: rpc MarketSellAsset (MarketSellAssetContract) returns (TransactionExtention) {}; Nodes: FullNode

64. Cancel the order Interface statement: rpc MarketCancelOrder (MarketCancelOrderContract) returns (TransactionExtention) {}; Nodes: FullNode

65. Get all orders for the account Interface statement: rpc GetMarketOrderByAccount (BytesMessage) returns (MarketOrderList) {}; Nodes: FullNode

66. Get all trading pairs Interface statement: rpc GetMarketPairList (EmptyMessage) returns (MarketOrderPairList) {}; Nodes: FullNode

67. Get all orders for the trading pair Interface statement: rpc GetMarketOrderListByPair (MarketOrderPair) returns (MarketOrderList) {}; Nodes: FullNode

68. Get all prices for the trading pair Interface statement: rpc GetMarketPriceByPair (MarketOrderPair) returns (MarketPriceList) {}; Nodes: FullNode

69. Get order by id Interface statement: rpc GetMarketOrderById (BytesMessage) returns (MarketOrder) {}; Nodes: FullNode

70. perform a historical balance lookup Interface statement: rpc GetAccountBalance (AccountBalanceRequest) returns (AccountBalanceResponse){}; Nodes: FullNode

71. fetch all balance-changing transactions in a block Interface statement: rpc GetBlockBalanceTrace (BlockBalanceTrace.BlockIdentifier) returns (BlockBalanceTrace) {}; Nodes: FullNode

72. get the burn stb amount Interface statement: rpc GetBurnStb (EmptyMessage) returns (NumberMessage) {}; Nodes: FullNode