AIOU Chain Docs

AIOU Chain Docs

  • Docs
  • Languages icon中文
    • English

›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

AIOU

AIOU类负责创建交易,同时也提供钱包hook入口

constructor

构造函数

Parameters

NameTypeDescription
configObjectconfig object 当前 AIOU 使用的配置,详细如下:
gasRatio: 交易的gas倍率
gasLimit: 交易的gas limit
expiration: 交易过期时间,以秒记

Returns

AIOU实例

Example

// init aiou sdk
const aiou = new AIOU.AIOU({ // will use default setting if not set
    gasRatio: 1,
    gasLimit: 100000,
    expiration: 90,
});

callABI

产生一个调用ABI的交易

Parameters

NameTypeDescription
contractString合约ID或者合约域名
abiString合约ABI
argsArray参数的数组

Returns

交易实例

Example

const tx = aiou.callABI(
    "token.aiou",
    "transfer",
    ["aiou", "fromAccount", "toAccount", "10.000", "memo"]
);

newAccount

新建账户

Parameters

NameTypeDescription
nameString账户名
creatorString创建者的账户名
ownerkeyString新建账户的owner公钥
activekeyString新建账户的active公钥
initialRAMNumber初始购买的RAM,由创建者付费
initialGasPledgeNumber初始抵押的AIOU,由创建者付费

Returns

交易实例

Example

// first create KeyPair for new account
const newKP = KeyPair.newKeyPair();
// then create new Account transaction
const newAccountTx = aiou.newAccount(
    "test1",
    "admin",
    newKP.id,
    newKP.id,
    1024,
    10
);

transfer

转账token

Parameters

NameTypeDescription
tokenStringtoken的名字
fromString转出账户
toString转入账户
amountString金额
memoNumber备注

Returns

交易实例

Example

const tx = aiou.transfer("aiou", "fromAccount", "toAccount", "10.000", "memo");

如何发送交易

使用signAndSend可以直接发送交易,并且能够无缝衔接到第三方钱包

aiou.setAccount(account);
aiou.setRPC(rpc);
aiou.signAndSend(tx)
    .on("pending", console.log)
    .on("success", console.log)
    .on("failed", console.log);

第三方钱包可以hook AIOU类,接管以上3个函数, 就可以无缝衔接到现有的逻辑当中。

当第三方钱包存在时,signAndSend将会把tx发送到第三方钱包处理,而不存在时,则会通过默认l5uoji使用rpc和account发送交易。

signAndSend

签名并且发送交易.

Parameters

NameTypeDescription
txAIOU.Tx待发送的交易。

Returns

Callback实例

Example

aiou.signAndSend(tx)
    .on("pending", console.log)
    .on("success", console.log)
    .on("failed", console.log);

setAccount

设置AIOU使用的accunt

Parameters

NameTypeDescription
accountAIOU.Account当前aiou实例

Returns

null

Example

aiou.setAccount(account);

currentAccount

获取AIOU当前的account

Parameters

null

Returns

AIOU.Account.

Example

const account = aiou.currentAccount();

setRPC

设置当前aiou实例使用的rpc

Parameters

NameTypeDescription
rpcAIOU.RPC设置当前aiou实例使用的rpc

Returns

null.

Example

aiou.setRPC(rpc);

currentRPC

获取当前的rpc

Parameters

null

Returns

an AIOU.RPC instance.

Example

const rpc = aiou.currentRPC();
← Gas Charge TableBlockchain →
  • constructor
    • Parameters
    • Returns
    • Example
  • callABI
    • Parameters
    • Returns
    • Example
  • newAccount
    • Parameters
    • Returns
    • Example
  • transfer
    • Parameters
    • Returns
    • Example
  • signAndSend
    • Parameters
    • Returns
    • Example
  • setAccount
    • Parameters
    • Returns
    • Example
  • currentAccount
    • Parameters
    • Returns
    • Example
  • setRPC
    • Parameters
    • Returns
    • Example
  • currentRPC
    • Parameters
    • Returns
    • Example
AIOU Chain Docs
Community
BlogGitHubStar
Facebook Open Source
Copyright © 2021 Your Name or Your Company Name