Bytom Node.js SDK
Терминология
[Keys]
Криптографические ключи — это основной механизм авторизации в блокчейне.
Для создания учётных записей или активов требуются xpub ключей. С помощью этого SDK мы можем создавать, удалять, перечислять все ключи, сбрасывать пароль и проверять пароль. Пожалуйста, ознакомьтесь с [API doc], если вы хотите работать с ключами.
[Account]
Учётная запись — это объект в Bytom, который отслеживает владение активами в блокчейне. Она определяется одним узлом Bytom, созданным с помощью одного или нескольких ключей.
[Related API]
[Asset]
Актив — это тип стоимости, которую можно выпустить в блокчейне. Все единицы данного актива взаимозаменяемы. Единицы актива могут быть переданы напрямую между сторонами без участия эмитента.
[Related API]
[Transaction]
Блокчейн — это цепочка блоков, а блок состоит из нескольких транзакций.
[Related API]
[Unspent Output (UTXO)]
Bytom — это блокчейн на основе UTXO. Одна транзакция тратит некоторые UTXOs и создаёт новые UTXOs.
[Related API]
[Balance]
Любой баланс в блокчейне — это просто сумма UTXOs. В одном bytomd баланс означает сумму UTXOs одной учётной записи.
[Related API]
[Block]
Блок — это контейнер данных, который объединяет транзакции для включения в публичный реестр, блокчейн. Он состоит из заголовка, содержащего метаданные, за которым следует длинный список транзакций, составляющих большую часть его размера. Каждый блок ссылается на предыдущий блок, и все блоки связаны сзади вперёд, чтобы создать блокчейн.
[Related API]
[Config]
Config содержит информацию о сети, которую вы хотели узнать.
[Related API]
Использование
const bytom = require('bytom-sdk')
const url = 'http://localhost:9888'
// access token is required when client is not in same origin
// with the request bytom node
const accessToken = ''
const client = new bytom.Client(url, accessToken)
Мы проведём вас через процесс выпуска некоторых активов.
const keyPromise = client.keys.create({
alias:'key',
password: 'password'
})
Это создаст ключ с псевдонимом «alias» и паролем «password».
const accountPromise = keyPromise.then(key => {
client.accounts.create({
alias: 'account',
root_xpubs: [key.xpub],
quorum: 1
})
})
const addressPromise = accountPromise.then(account => {
return client.accounts.createReceiver({
account_alias: account.alias
})
})
const definition = {
name: "GOLD",
symbol: "GOLD",
decimals: 8,
description: {}
}
const assetPromise = keyPromise.then(key => {
return client.assets.create(
{
alias: 'asset',
definition,
root_xpubs: [key.xpub],
quorum: 1
})
})
const ...
``` ```
buildPromise = Promise.all([
accountPromise,
addressPromise,
assetPromise]
).then(([account, address, asset]) => {
const issueAction = {
amount: 100000000,
asset_alias: asset.alias,
}
const gasAction = {
account_alias: account.alias,
asset_alias: 'BTM',
amount: 50000000
}
const controlAction = {
amount: 100000000,
asset_alias: asset.alias,
address: address.address
}
return client.transactions.build(builder => {
builder.issue(issueAction)
builder.spendFromAccount(gasAction)
builder.controlWithAddress(controlAction)
})
})
const signPromise = buildPromise.then(transactionTemplate => {
return client.transactions.sign({
transaction: transactionTemplate,
password: 'password'
})
})
signPromise.then(signed => {
return client.transactions.submit(signed.transaction.raw_transaction)
})
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )