AIOU Chain Docs

AIOU Chain Docs

  • Docs
  • Languages iconEnglish
    • 中文

›AIOU Javascript SDK

Getting started

  • Overview
  • Quickstart

AIOU Design and Concepts

  • Account
  • Economic model

Smart Contract

  • Smart Contract Quick Start
  • AIOU Blockchain API
  • Update Contract
  • Generate Receipt in Smart Contract
  • Create IRC20 Token

Running AIOU node

  • Join AIOU Network
  • Become Servi Node

Reference

  • API
  • System Contract
  • Economic Contract
  • Token Contract
  • Gas Charge Table

AIOU Javascript SDK

  • AIOU
  • Blockchain
  • KeyPair
  • Transaction

AIOU Tech Internals

  • VM
  • Database
  • Network layer

Transaction

This is the main class that interact with AIOU blockchain and AIOU smart contracts to send and get transactions from them.

constructor

constructor method is a special method for creating and initializing Transaction class. DO NOT need to initialize by user, user will use Transaction class by rpc.transaction.

getTxByHash

get tx by hash from blockchain

Parameters

NameTypeDescription
hashStringbase58 encode txHash

Returns

Promise returns transaction object.

NameTypeDescription
statusStringtransaction status
transactionObjectTransaction Object

Transaction Object

NameTypeDescription
hashStringtransaction hash
timeNumbertransaction timestamp
expirationNumberexpiration timestamp
gas_ratioNumbergas gas_ratio
gas_limitNumbergas limit
delayNumberdelay nanoseconds
actionsArrayarray of Action Object
signersArrayarray of signer string
publisherStringtransaction publisher
referred_txStringreferred transaction hash
amount_limitArrayarray of AmountLimit Object
tx_receiptObjectTxReceipt Object

Action Object

NameTypeDescription
contractStringcontract name
action_nameStringaction name
dataStringdata

AmountLimit Object

NameTypeDescription
tokenStringtoken name
valueNumberlimit value

TxReceipt Object

NameTypeDescription
tx_hashStringtransaction hash
gas_usageNumbergas usage
ram_usageMapram usage
status_codeStringstatus code
messageStringmessage
returnsArraytransaction returns
receiptsArrayarray of Receipt Object

Receipt Object

NameTypeDescription
func_nameStringfunction name
contentStringcontent

Example

const rpc = new AIOU.RPC(new AIOU.HTTPProvider('http://127.0.0.1:30001'));
rpc.transaction.getTxByHash("5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa").then(console.log);

/*{
    "status": "IRREVERSIBLE",
    "transaction": {
        "hash": "5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa",
        "time": "0",
        "expiration": "0",
        "gas_ratio": 1,
        "gas_limit": 1000000,
        "delay": "0",
        "actions": [
            {
                "contract": "base.aiou",
                "action_name": "Exec",
                "data": "[{\"parent\":[\"AIOU2FpDWNFqH9VuA8GbbVAwQcyYGHZxFeiTwSyaeyXnV84yJZAG7A\", \"0\"]}]"
            }
        ],
        "signers": [],
        "publisher": "_Block_Base",
        "referred_tx": "",
        "amount_limit": [],
        "tx_receipt": null
    }
}*/

getTxReceiptByTxHash

get transaction receipt by transaction hash

Parameters

NameTypeDescription
hashStringbase58 encode txHas

Returns

Promise returns TxReceipt Object

Example

const rpc = new AIOU.RPC(new AIOU.HTTPProvider('http://127.0.0.1:30001'));
rpc.transaction.getTxByHash("5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa").then(console.log);

/*{
    "tx_hash": "5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa",
    "gas_usage": 0,
    "ram_usage": {
        "_Block_Base": "0",
        "base.aiou": "284",
        "bonus.aiou": "107"
    },
    "status_code": "SUCCESS",
    "message": "",
    "returns": [
        "[\"\"]"
    ],
    "receipts": [
        {
            "func_name": "token.aiou/issue",
            "content": "[\"contribute\",\"AIOU2FpDWNFqH9VuA8GbbVAwQcyYGHZxFeiTwSyaeyXnV84yJZAG7A\",\"900\"]"
        }
    ]
}*/

sendTx

send transaction to AIOU blockchain

← KeyPairVM →
  • constructor
  • getTxByHash
    • Parameters
    • Returns
    • Example
  • getTxReceiptByTxHash
    • Parameters
    • Returns
    • Example
  • sendTx
AIOU Chain Docs
Community
BlogGitHubStar
Facebook Open Source
Copyright © 2021 Your Name or Your Company Name