RPC нативных операций кошелька
Нативные операции выполняются через локальную ноду владельца кошелька. Доступ предназначен для локального приложения кошелька или аутентифицированной интеграции. Суммы передаются точными целочисленными строками. NOID и взаимозаменяемые токены имеют шесть знаков после запятой. Высоты передаются целыми числами JSON. ID активов и коллекций содержат 64 шестнадцатеричных символа.
Просмотр текущих прав
| Метод | Параметры | Результат |
|---|---|---|
paranoid_getNativeProtocol |
[] |
Активация, доступность runtime и ограничения ресурсов |
paranoid_getNativeHoldings |
[owner, cursor, limit] |
Типизированные живые владения в одном каноническом State |
paranoid_walletGetNativeHoldings |
[cursor, limit] |
Типизированные владения активного кошелька |
paranoid_getNativeCatalog |
[kind, cursor, limit] |
markets, collections или nft_listings |
paranoid_getNativeMarket |
[asset_id] |
Текущие определение, кривая/пул и резерв |
paranoid_walletNativePending |
[] |
Ожидающие и неподтверждённые действия кошелька |
Курсор связывает владельца или тип каталога, высоту и хеш блока. Если канонический State меняется между страницами, запросите первую страницу заново. Декодируйте каждое раскрытие и свяжите его корень, слот, ID создания и определения с возвращённым State. GUI проверяет эти связи перед отображением владений.
Предпросмотр, проверка и авторизация
Передайте один запрос в paranoid_walletPreviewNative:
{
"jsonrpc": "2.0",
"id": 1,
"method": "paranoid_walletPreviewNative",
"params": [{
"action": "trade",
"asset_id": "<64-character asset ID>",
"buy": true,
"gross_input": "1000000",
"minimum_output": "<minimum token base units>",
"valid_until": 100
}]
}
Проверьте owner, key_index, height, parent_hash, state_root, возвращённый request, списание/зачисление NOID, комиссию, её предел, минимальный результат и срок. pending_quote различает локальный прогноз кандидата и оценку по подтверждённому State.
Авторизуйте через paranoid_walletSubmitNative с параметрами [same_request, reviewed_plan_id]. Нода заново строит операцию и проверяет точную привязку к предпросмотру, канонического родителя и активный кошелёк перед созданием капсулы Owner. При изменении контекста потребуется новый предпросмотр. Результат содержит ID транзакции и взятую комиссию. Отслеживайте подтверждение и сохраняйте чек через существующий API чеков кошелька.
Действия запроса
| Действие | Поля помимо action |
|---|---|
create_token |
whole_tokens, metadata_hash, необязательное initial_buy_units |
transfer_token |
asset_id, units, recipient |
burn_token |
asset_id, units |
trade |
asset_id, buy, gross_input, необязательные minimum_output, slippage_bps, valid_until |
create_collection |
maximum_items, metadata_hash |
mint_nft |
collection_id, metadata_hash |
mint_nfts |
collection_id, metadata_hashes (упорядоченный непустой массив) |
transfer_nft |
collection_id, serial, recipient |
burn_nft |
collection_id, serial |
list_nft |
collection_id, serial, ask_micronoid, expiry_height |
buy_nft |
collection_id, serial, maximum_ask_micronoid |
cancel_listing |
collection_id, serial |
getNativeProtocol.nft_batch_limit сообщает верхнюю границу пакета до проверок страниц, зависящих от финансирования. mint_nfts использует существующее отношение выпуска: один преемник коллекции и один NFT на каждый хеш метаданных с последовательными номерами в порядке массива. Предпросмотр возвращает serial и last_serial включительного диапазона. Тот же создатель может отправлять следующие пакеты. Коллекции из нескольких предметов, созданные кошельком, используют maximum_items = "18446744073709551615". Подготовка отдельного NFT сохраняет maximum_items = "1". GUI автоматически задаёт эти значения. Существующие коллекции сохраняют зафиксированные условия.
Неизвестные поля отклоняются. Значения API по умолчанию для торговли составляют 100 базисных пунктов проскальзывания и срок через три высоты после высоты кандидата. Явный срок должен находиться в пределах 30 блоков от неё. Явное минимальное количество напрямую фиксирует нижнюю границу. Включение зависит от допустимости операции в выбранном блоке.
burn_token выполняет единую операцию сжигания и погашения. buy_nft ограничивает принимаемую цену. Листинг и отмена расходуют точный текущий экземпляр предмета или листинга. Фактическое финансирование, комиссии, арифметика и выбор ресурсов проверяются по живому State.
create_token.initial_buy_units является точной целочисленной строкой в минимальных единицах токена. Пропустите поле или задайте "0" для создания без покупки. Максимум равен 60% фиксированной эмиссии. Транзакция создания оплачивает полное обеспечение, стоимость стандартной кривой и сетевую комиссию, а купленные токены назначает создателю. Покупка всего объёма кривой сразу создаёт постоянный DEX-пул. Отдельно проверьте reserve_deposit_micronoid, initial_buy_cost_micronoid, quoted_output и полное noid_debit_micronoid. Шаблон Pruv create_token поддерживает то же необязательное поле. Если оно задано, количество должно быть положительным.
Нативные шаблоны Pruv создают такие запросы предпросмотра и отправки с типизированными идентичностями, каноническими суммами и явными торговыми границами.
Сохранённые чеки
paranoid_walletReceipts сохраняет существующий интерфейс [page, page_size, family]. Для дополнительных фильтров используйте paranoid_walletQueryReceipts:
{
"jsonrpc": "2.0",
"id": 1,
"method": "paranoid_walletQueryReceipts",
"params": [1, 7, {
"filter": "trades",
"asset_id": "<64-character lowercase hexadecimal asset ID>",
"operation": "trade",
"timestamp_from": 1790812800,
"timestamp_before": 1793491200,
"verification": "confirmed",
"order": "newest"
}]
}
Страницы начинаются с 1. Размер страницы от 1 до 50. Пропущенные поля запроса используют значения all, отсутствие ограничений по активу и дате, операцию any, статус проверки any и порядок newest. Неизвестные поля отклоняются. Границы даты заданы в секундах Unix. timestamp_from включается, timestamp_before исключается.
Категории: all, noid, tokens, trades и nfts. Операции: any, payment, create_token, transfer_token, burn_token, trade, create_nft, transfer_nft, burn_nft, list_nft, buy_nft и cancel_listing. create_nft включает подготовку коллекции и выпуск предмета. Статусы проверки: any, confirmed, off_chain и missing_header. Порядок: newest, oldest, asset и operation.
Нода проверяет сохранённые данные включения, фильтрует всю библиотеку и сортирует её перед разбиением на страницы. В группах активов и операций новые записи идут первыми. Порядок по активу использует первую полную идентичность в отсортированном множестве идентичностей чека, причём платежи NOID идут первыми. Порядок newest/oldest использует высоту, время и логический ID транзакции как устойчивые критерии. Ответ повторяет точный запрос и возвращает page, page_size, total, total_pages и receipts. Нативный обмен остаётся одним чеком с несколькими сторонами по активам.
Одновременно выполняется одно расширенное сканирование. Изменение ревизии чеков или идентичности канонической вершины прерывает запрос. Повторите его по текущей библиотеке. Экспорт и подробная проверка чеков используют существующие интерфейсы.
Ключи на стороне клиента
prepareNativeIntent подготавливает те же действия для переданного адреса владельца. Метод возвращает канонические байты без авторизации и данные проверки для авторизации клиентом. Готовые байты отправляются через submitTxIntent.