跳到主要内容
版本:3.5.0

IOST

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

constructor

构造函数

Parameters

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

Returns

IOST实例

Example

// init iost sdk
const iost = new IOST.IOST({ // 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 = iost.callABI(
"token.iost",
"transfer",
["iost", "fromAccount", "toAccount", "10.000", "memo"]
);

newAccount

新建账户

Parameters

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

Returns

交易实例

Example

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

transfer

转账token

Parameters

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

Returns

交易实例

Example

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

如何发送交易

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

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

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

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

signAndSend

签名并且发送交易.

Parameters

NameTypeDescription
txIOST.Tx待发送的交易。

Returns

Callback实例

Example

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

setAccount

设置IOST使用的accunt

Parameters

NameTypeDescription
accountIOST.Account当前iost实例

Returns

null

Example

iost.setAccount(account);

currentAccount

获取IOST当前的account

Parameters

null

Returns

IOST.Account.

Example

const account = iost.currentAccount();

setRPC

设置当前iost实例使用的rpc

Parameters

NameTypeDescription
rpcIOST.RPC设置当前iost实例使用的rpc

Returns

null.

Example

iost.setRPC(rpc);

currentRPC

获取当前的rpc

Parameters

null

Returns

an IOST.RPC instance.

Example

const rpc = iost.currentRPC();