Класс Blockchain это основной класс, который взаимодействует с блокчейном IOST и смарт-контрактами IOST для получения информации от них.
Метод constructor
Метод constructor это специальный метод для создания и инициализации класса Blockchain.
НЕТ необходимости для инициализации пользователем, пользователь будет использовать класс Blockchain с помощью rpc.blockchain。
Метод getChainInfo
получение информации о цепочке из блокчейна
Возвращает
Промис возвращает объект chainInfo.
Название Тип Описание
net_name String название сети, такое как mainnet или testnet
protocol_version String версия протокола iost
head_block Number высота головного блока
head_block_hash String хеш головного блока
lib_block Number номер последнего необратимого блока
lib_block_hash String хеш последнего необратимого блока
witness_list Array текущий список производелей блоков
Пример
const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001' ));
rpc.blockchain.getChainInfo().then(console .log);
Метод getBlockByHash
получение информации о блоке из блокчейна по его хешу
Параметры
Название Тип Описание
hash String хеш блока
complete Boolean complete означает будут ли включены все транзакции и квитанции транзакций
Возвращает
Промис возвращает объект блока.
Название Тип Описание
status String статус транзакции
block Object Объект Блока
Block Object (Объект блока)
Название Тип Описание
hash String хеш блока
version Number версия блока
parent_hash String родительский хеш блока
tx_merkle_hash String единый хеш - корень дерева Меркла транзакций
tx_receipt_merkle_hash String единый хеш - корень дерева Меркла квитанций транзакций
number String номер блока
witness String производитель блока
time String отметка времени блока
gas_usage String количество газа использованного в блоке
tx_count String число транзакции
transactions Array массив Объектов Транзакций
info Object Информация об Объекте
AmountLimit Object (Объект лимит суммы)
Название Тип Описание
token String название токена
value Number ограничение количества токенов
Info Object (Объект инфо)
Название Тип Описание
mode Number режим упаковки
thread Number номер потока выполнения транзакции
batch_index Array индекс каждого пакетного выполнения транзакции
Пример
const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001' ));
rpc.blockchain.getBlockByNum(1 , true ).then(console .log);
Метод getBlockByNum
получение информации о блоке из блокчейна по номеру блока
Параметры
Название Тип Описание
num Number номер блока
complete Boolean complete означает будут ли включены все транзакции и квитанции транзакций
Возвращает
Промис возвращает объект блока. Проверьте getBlockByHash
Метод getBalance
получение баланса аккаунта
Параметры
Название Тип Описание
name String имя аккаунта
by_longest_chain Boolean получить аккаунт по головному блоку самой длинной цепи или последнему необратимому блоку
Возвращает
Промис возвращает объект баланса.
Пример
const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001' ));
rpc.blockchain.getBalance('myaccount' , true ).then(console .log);
Метод getToken721Balance
получение баланса token721(токенов стандарта 721) аккаунта
Параметры
Название Тип Описание
name String название аккаунта
tokenSymbol String символ token721
by_longest_chain Boolean получить аккаунт по головному блоку самой длинной цепи или последнему необратимому блоку
Возвращает
Промис возвращает объект баланса.
Пример
const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001' ));
rpc.blockchain.getToken721Balance('myaccount' , 'my721Token' , true ).then(console .log);
Метод getToken721Metadata
получение метаданных token721 (токена стандарта 721)
Параметры
Название Тип Описание
token String название токена
token_id String id токена
by_longest_chain Boolean получить аккаунт по головному блоку самой длинной цепи или последнему необратимому блоку
Возвращает
Промис возвращает объект метаданных.
Название Тип Описание
metadata String метаданные
Пример
const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001' ));
rpc.blockchain.getToken721Metadata('symbol' , 'id' , true ).then(console .log);
Метод getToken721Owner
получение владельца token721 (токена стандарта 721)
Параметры
Название Тип Описание
token String название токена
token_id String id токена
by_longest_chain Boolean получить аккаунт по головному блоку самой длинной цепи или последнему необратимому блоку
Возвращает
Промис возвращает объект владелец.
Название Тип Описание
owner String метаданные
Пример
const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001' ));
rpc.blockchain.getToken721Owner('symbol' , 'id' , true ).then(console .log);
Метод getContract
получение контракта из блокчейна
Параметры
Название Тип Описание
id String id контракта
by_longest_chain Boolean получить аккаунт по головному блоку самой длинной цепи или последнему необратимому блоку
Возвращает
Промис возвращает объект контракта.
Название Тип Описание
id String id контракта
code String код контракта
language String язык программирования контракта
version String версия контракта
abis Array массив Объектов ABI
ABI Object (Объект ABI)
Название Тип Описание
name String id контракта
args Array аргументы abi
amount_limit Array массив Объектов AmountLimit
Метод getContractStorage
получение хранилища контракта из блокчейна
Параметры
Название Тип Описание
id String id контракта
key String ключ в StateDB
field String получить значение из StateDB, поле необходимо, если StateDB[key] это map (соответствие).(в этом случае, мы получаем StateDB[key][field])
by_longest_chain Boolean получить аккаунт по головному блоку самой длинной цепи или последнему необратимому блоку
Возвращает
Промис возвращает объект результата контракта.
Название Тип Описание
data String данные
Метод getAccountInfo
получить информацию об аккаунте из блокчейна
Параметры
Название Тип Описание
name String имя аккаунта
by_longest_chain Boolean получить аккаунт по головному блоку самой длинной цепи или последнему необратимому блоку
Возвращает
Промис возвращает объект аккаунта.
GasInfo Object (Объект GasInfo)
Название Тип Описание
current_total Number текущее общее количество газа
transferable_gas Number текущий переносимый газ
pledge_gas Number текущий залоговый газ
increase_speed Number скорость увеличения газа
limit Number имя аккаунта
pledged_info Array массив Объект PledgeInfo
PledgeInfo Object (Объект PledgeInfo)
Название Тип Описание
pledger String аккаунт, который предоставляет залог
amount Number залоговая сумма
RAMInfo Object (Объект RAMInfo)
Название Тип Описание
available Number доступные байты оперативной памяти
Permission Object (Объект разрешений)
Название Тип Описание
name String имя разрешения
groups Array массив групп разрешений
items Array массив Item Object
threshold Number пороговое значение разрешения
Item Object (Объект элемента)
Название Тип Описание
id String имя разрешения или id пары ключей
is_key_pair Boolen будь то пара ключей
weight Number вес разрешения
permission String разрешение
Group Object (Объект группы разрешений)
Название Тип Описание
name String название группы
items Array массив Item Object
FrozenBalance Object (Объект замороженный баланс)
Название Тип Описание
amount Number сумма баланса
time Number время заморозки
Пример
const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001' ));
rpc.blockchain.getAccountInfo("myaccount" ).then(console .log);