# [Ride v4 и v3] Функции блокчейна
⚠️ Это документация Стандартной библиотеки версии 4 и 3. Рекомендуем использовать версию 6. Перейти к версии 6
Название | Описание | Сложность |
---|---|---|
addressFromRecipient(Address|Alias): Address | Получает адрес, соответствующий псевдониму | 100 для Стандартной библиотеки версии 3 5 для Стандартной библиотеки версии 4 |
assetBalancе(Address|Alias, ByteVector): Int | Получает баланс аккаунта по ID токена | 100 для Стандартной библиотеки версии 3 10 для Стандартной библиотеки версии 4 |
assetInfo(ByteVector): Аsset|Unit | Получает информацию о токене | 100 для Стандартной библиотеки версии 3 15 для Стандартной библиотеки версии 4 |
blockInfoByHeight(Int): BlockInfo |Unit | Получает информацию о блоке по высоте блока | 100 для Стандартной библиотеки версии 3 5 для Стандартной библиотеки версии 4 |
calculateAssetId(Issue): ByteVector | Вычисляет ID ассета, созданного структурой Issue при выполнении транзакции вызова скрипта | 10 |
transactionHeightById(ByteVector): Int|Unit | Получает высоту блока транзакции | 100 для Стандартной библиотеки версии 3 20 для Стандартной библиотеки версии 4 |
transferTransactionById(ByteVector): TransferTransaction|Unit | Получает данные транзакции перевода | 100 для Стандартной библиотеки версии 3 60 для Стандартной библиотеки версии 4 |
wavesBalance(Address|Alias): BalanceDetails | Получает баланс аккаунта в WAVES | 100 для Стандартной библиотеки версии 3 10 для Стандартной библиотеки версии 4 |
# addressFromRecipient(Address|Alias): Address
Получает адрес, соответствующий псевдониму.
addressFromRecipient(AddressOrAlias: Address|Alias): Address
Описание возвращаемой структуры см. в разделе Address.
# Параметры
Параметр | Описание |
---|---|
AddressOrAlias : Address|Alias | Адрес или псевдоним, обычно получателя транзакции |
# Примеры
let address =Address(base58'3NADPfTVhGvVvvRZuqQjhSU4trVqYHwnqjF')
addressFromRecipient(address)
# assetBalance
Получает баланс аккаунта по ID токена.
Баланс не учитывает платежи, приложенные к вызову скрипта (это относится только к версиям 4 и 3 Стандартной библиотеки). Баланс не учитывает переводы (ScriptTransfer
), выполненные вызываемой функцией.
assetBalance(addressOrAlias: Address|Alias, assetId: ByteVector): Int
# Параметры
Параметр | Описание |
---|---|
addressOrAlias : Address|Alias | Адрес или псевдоним аккаунта |
assetId : ByteVector | ID токена |
# assetInfo
Получает информацию о токене.
assetInfo(id: ByteVector): Аsset|Unit
Описание возвращаемой структуры см. в разделе Asset.
# Параметры
Параметр | Описание |
---|---|
id : ByteVector | ID токена |
# Пример
let bitcoinId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
let x = match assetInfo(bitcoinId) {
case asset:Asset =>
asset.decimals # 8
case _ => throw("Can't find asset")
}
# blockInfoByHeight
Получает информацию о блоке по высоте блока.
blockInfoByHeight(height: Int): BlockInfo|Unit
Описание возвращаемой структуры см. в разделе BlockInfo.
# Параметры
Параметр | Описание |
---|---|
height : Int | Высота блока |
# Пример
let x = match blockInfoByHeight(1234567) {
case block:BlockInfo =>
block.generator.toString() # "3P38Z9aMhGKAWnCiyMW4T3PcHcRaTAmTztH"
case _ => throw("Can't find block")
}
# calculateAssetId
Вычисляет ID ассета, созданного структурой Issue при выполнении транзакции вызова скрипта.
⚠️ Функция
calculateAssetId
добавлена в Стандартной библиотеке версии 4.
calculateAssetId(issue: Issue): ByteVector
# Параметры
Параметр | Описание |
---|---|
issue : Issue | Структура, при помощи которой сформирован ассет |
# Пример
{-# STDLIB_VERSION 4 #-}
{-# CONTENT_TYPE DAPP #-}
{-# SCRIPT_TYPE ACCOUNT #-}
@Callable(inv)
func issueAndSend() = {
let issue = Issue("CryptoRouble", "Description", 1000, 2, true)
let id = calculateAssetId(issue)
[
issue,
ScriptTransfer(inv.caller, issue.quantity, id),
BinaryEntry("id", id)
]
}
// Результат:
// {
// "type": "string",
// "value": "55jbTUxWkbLbfd6Z7Wy93DcyD7xikBg5GRDmccD4s8uv",
// "key": "id"
// }
# transactionHeightById
Получает высоту блока транзакции. Для транзакций с неудачным результатом выполнения скрипта (см. раздел Валидация транзакции) или пропущенных в результате оспаривания блока (см. раздел Waves 1.5: легкая нода) возвращает unit
.
transactionHeightById(id: ByteVector): Int|Unit
# Параметры
Параметр | Описание |
---|---|
id : ByteVector | ID транзакции |
# transferTransactionById
Получает данные транзакции перевода. Для транзакций, пропущенных в результате оспаривания блока (см. раздел Waves 1.5: легкая нода), возвращает unit
.
transferTransactionById(id: ByteVector): TransferTransaction|Unit
Описание возвращаемой структуры см. в разделе TransferTransaction.
# Параметры
Параметр | Описание |
---|---|
id : ByteVector | ID транзакции перевода |
# Пример
let transferId = base58'J2rcMzCWCZ1P3SFZzvz9PR2NtBjomDh57HTcqptaAJHK'
let x = match transferTransactionById(transferId) {
case ttx:TransferTransaction =>
ttx.amount # 3500000000
case _ => throw("Can't find transaction")
}
# wavesBalance
# В Стандартной библиотеке версии 3
Возвращает доступный баланс WAVES аккаунта.
Баланс не учитывает платежи, приложенные к вызову скрипта (это относится только к версиям 4 и 3 Стандартной библиотеки). Баланс не учитывает переводы (ScriptTransfer
), выполненные текущей вызываемой функцией.
wavesBalance(addressOrAlias: Address|Alias): Int
# В Стандартной библиотеке версии 4
Возвращает все виды баланса WAVES аккаунта. О видах баланса см. в разделe Баланс аккаунта.
Баланс не учитывает платежи, приложенные к вызову скрипта (это относится только к версиям 4 и 3 Стандартной библиотеки). Баланс не учитывает переводы (ScriptTransfer
), выполненные вызываемой функцией.
wavesBalance(addressOrAlias: Address|Alias): BalanceDetails
Описание возвращаемой структуры см. в разделе BalanceDetails.
# Параметры
Параметр | Описание |
---|---|
addressOrAlias : Address|Alias | Адрес или псевдоним аккаунта |