[转]OmniLayer / omnicore API 中文版

本文转自:https://www.codetd.com/article/1692438

JSON-RPC API

Omni Core是Bitcoin Core的一个分支,其Omni协议功能支持作为顶层的新功能层添加。因此,与API的交互以与Bitcoin Core相同的方式(JSON-RPC)完成,只需使用额外的RPC即可使用Omni协议功能。

由于所有现有的比特币核心功能都是Omni Core固有的,因此默认情况下RPC端口保持8332与每个比特币核心一样。如果您希望与比特币核心一起运行Omni Core(例如,通过单独的数据中心),则可以使用该-rpcport<port>选项提名替代端口号。

可以列出所有可用的命令"help",并且可以通过检索关于特定命令的信息"help <command>"

请注意:本文件可能并不总是最新的。可能存在错误,遗漏或不准确之处。

交易创建

用于事务创建的RPC可用于创建和广播Omni协议事务。

作为结果返回广播事务的散列。

omn​​i_send

创建并广播一个简单的发送事务。

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址
toaddress 需要 接收者的地址
propertyid 需要 要发送的令牌的标识符
amount 需要 要发送的金额
redeemaddress 可选的 一个可以花费交易粉尘的地址(默认发件人)
referenceamount 可选的 发送给接收方的比特币金额(默认情况下最小)

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_send ”  “ 3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY ”  “ 37FaKponF7zqoMLUjEiko25pDiuVH5YLEa ” 1 “ 100.0 ”

omn​​i_senddexsell

在传统的分布式OMNI / BTC交易平台上放置,更新或取消卖出报价。

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址
propertyidforsale 需要 要列出待售的代币的标识符(必须1OMNI2TOMNI
amountforsale 需要 要出售的代币数量
amountdesired 需要 比特币的数量
paymentwindow 需要 买方在成功接受订单后必须支付的时间限制
minacceptfee 需要 买方必须支付接受报价的最低采矿费
action 需要 采取的行动(1对于新的优惠,2更新,3取消)

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_senddexsell ”  “ 37FaKponF7zqoMLUjEiko25pDiuVH5YLEa ” 1 “ 1.5 ”  “ 0.75 ” 25 “ 0.0005 ” 1

omn​​i_senddexaccept

创建并广播指定代币和金额的接受优惠。

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址
toaddress 需要 卖方的地址
propertyid 需要 要购买的令牌的标识符
amount 需要 接受的金额
override 布尔 需要 重写最低接受费用和支付窗口支票(谨慎使用!)

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_senddexaccept ” \
“ 35URq1NN3xL6GeRKUP6vzaQVcxoJiiJKd8 ” “ 37FaKponF7zqoMLUjEiko25pDiuVH5YLEa ” 1 “ 15.0 ”

omn​​i_sendissuancecrowdsale

创建新的令牌作为crowdsale。

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址
ecosystem 需要 1主要生态系统,2测试生态系统)中创建令牌的生态系统
type 需要 要创建的令牌的类型:( 1对于不可分的令牌,2可分割的令牌)
previousid 需要 先前标记的标识符(0用于新的广告销售)
category 需要 新令牌的类别(可以""
subcategory 需要 新令牌的子类别(可以""
name 需要 要创建的新令牌的名称
url 需要 有关新令牌的更多信息(可以""
data 需要 新令牌的描述(可以""
propertyiddesired 需要 有资格参与众包的令牌的标识符
tokensperunit 需要 在众包中投入的单位授予的令牌数量
deadline 需要 作为Unix时间戳的众包期限
earlybonus 需要 为参与者提供每周百分比的早期奖金
issuerpercentage 需要 将授予发行人的代币的百分比

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_sendissuancecrowdsale ” \
“ 3JYd75REX3HXn1vAU83YuGfmiPXW7BpYXo ” 2 1 0 “ Companies ” “ Bitcoin Mining ” \
“ Quantum Miner ” “ ” “ ” 2 “ 100 ” 1483228800 30 2

omn​​i_sendissuancefixed

创建固定供应的新令牌。

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址
ecosystem 需要 1主要生态系统,2测试生态系统)中创建令牌的生态系统
type 需要 要创建的令牌的类型:( 1对于不可分的令牌,2可分割的令牌)
previousid 需要 先前令牌的标识符(0用于新令牌)
category 需要 新令牌的类别(可以""
subcategory 需要 新令牌的子类别(可以""
name 需要 要创建的新令牌的名称
url 需要 有关新令牌的更多信息(可以""
data 需要 新令牌的描述(可以""
amount 需要 要创建的令牌的数量
tokensperunit 需要 在众包中投入的单位授予的令牌数量
deadline 需要 作为Unix时间戳的众包期限
earlybonus 需要 为参与者提供每周百分比的早期奖金
issuerpercentage 需要 将授予发行人的代币的百分比

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_sendissuancefixed ” \
“ 3Ck2kEGLJtZw9ENj2tameMCtS3HB7uRar3 ” 2 1 0 “ Companies ” “ Bitcoin Mining ” \
“ Quantum Miner ” “ ” “ ” “ 1000000 ”

omn​​i_sendissuancemanaged

使用可管理的供应创建新的令牌。

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址
ecosystem number required the ecosystem to create the tokens in (1 for main ecosystem, 2 for test ecosystem)
type number required the type of the tokens to create: (1 for indivisible tokens, 2 for divisible tokens)
previousid number required an identifier of a predecessor token (0 for new tokens)
category string required a category for the new tokens (can be "")
subcategory string required a subcategory for the new tokens (can be "")
name string required the name of the new tokens to create
url string required an URL for further information about the new tokens (can be "")
data string required a description for the new tokens (can be "")

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendissuancemanaged" \
"3HsJvhr9qzgRe3ss97b1QHs38rmaLExLcH" 2 1 0 "Companies" "Bitcoin Mining" "Quantum Miner" "" ""

omni_sendsto

Create and broadcast a send-to-owners transaction.

Arguments:

Name Type Presence Description
fromaddress string required the address to send from
propertyid number required the identifier of the tokens to distribute
amount string required the amount to distribute
redeemaddress string optional an address that can spend the transaction dust (sender by default)
distributionproperty number optional the identifier of the property holders to distribute to

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendsto" \
"32Z3tJccZuqQZ4PhJR2hxHC3tjgjA8cbqz" "37FaKponF7zqoMLUjEiko25pDiuVH5YLEa" 3 "5000"

omni_sendgrant

Issue or grant new units of managed tokens.

Arguments:

Name Type Presence Description
fromaddress string required the address to send from
toaddress string required the receiver of the tokens (sender by default, can be "")
propertyid number required the identifier of the tokens to grant
amount string required the amount of tokens to create
memo string optional a text note attached to this transaction (none by default)

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendgrant" "3HsJvhr9qzgRe3ss97b1QHs38rmaLExLcH" "" 51 "7000"

omni_sendrevoke

Revoke units of managed tokens.

Arguments:

Name Type Presence Description
fromaddress string required the address to send from
propertyid number required the identifier of the tokens to revoke
amount string required the amount of tokens to revoke
memo string optional a text note attached to this transaction (none by default)

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli “ omn​​i_sendrevoke ”  “ 3HsJvhr9qzgRe3ss97b1QHs38rmaLExLcH ”  “ ” 51 “ 100 ”

omn​​i_sendclosecrowdsale

手动关闭众包。

参数:

名称 类型 存在 描述
fromaddress 需要 与众包关联的地址关闭
propertyid 需要 要关闭的众包标识符

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_sendclosecrowdsale ”  “ 3JYd75REX3HXn1vAU83YuGfmiPXW7BpYXo ” 70

omn​​i_sendtrade

在分布式令牌交换机上放置交易报价。

参数:

名称 类型 存在 描述
fromaddress 需要 与之交易的地址
propertyidforsale 需要 标记的标识符以列出待售
amountforsale 需要 要出售的代币数量
propertiddesired 需要 交换所需令牌的标识符
amountdesired 需要 交换所需的令牌数量

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_sendtrade ”  “ 3BydPiSLPP3DR5cf726hDQ89fpqWLxPKLR ” 31 “ 250.0 ” 1 “ 10.0 ”

omn​​i_sendcanceltradesbyprice

以指定价格取消分发令牌交易所的优惠。

参数:

名称 类型 存在 描述
fromaddress 需要 与之交易的地址
propertyidforsale 需要 待售的令牌的标识符
amountforsale 需要 要出售的代币数量
propertiddesired 需要 交换所需令牌的标识符
amountdesired 需要 交换所需的令牌数量

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omn​​icore-CLI “ omn​​i_sendcanceltradesbyprice ”  “ 3BydPiSLPP3DR5cf726hDQ89fpqWLxPKLR ” 31 “ 100.0 ” 1 “ 5.0 ”

omn​​i_sendcanceltradesbypair

使用给定的货币对取消分发令牌交易的所有优惠。

参数:

名称 类型 存在 描述
fromaddress 需要 与之交易的地址
propertyidforsale 需要 待售的令牌的标识符
propertiddesired 需要 交换所需令牌的标识符

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli "omni_sendcanceltradesbypair" "3BydPiSLPP3DR5cf726hDQ89fpqWLxPKLR" 1 31

omni_sendcancelalltrades

Cancel all offers on the distributed token exchange.

Arguments:

Name Type Presence Description
fromaddress string required the address to trade with
ecosystem number required the ecosystem of the offers to cancel (1 for main ecosystem, 2 for test ecosystem)

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendcancelalltrades" "3BydPiSLPP3DR5cf726hDQ89fpqWLxPKLR" 1

omni_sendchangeissuer

Change the issuer on record of the given tokens.

Arguments:

Name Type Presence Description
fromaddress string required the address associated with the tokens
toaddress string required the address to transfer administrative control to
propertyid number required the identifier of the tokens

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendchangeissuer" \
"1ARjWDkZ7kT9fwjPrjcQyvbXDkEySzKHwu" "3HTHRxu3aSDV4deakjC7VmsiUp7c6dfbvs" 3

omni_sendall

Transfers all available tokens in the given ecosystem to the recipient.

Arguments:

Name Type Presence Description
fromaddress string required the address to send from
toaddress string required the address of the receiver
ecosystem number required the ecosystem of the tokens to send (1 for main ecosystem, 2 for test ecosystem)
redeemaddress string optional an address that can spend the transaction dust (sender by default)
referenceamount string optional a bitcoin amount that is sent to the receiver (minimal by default)

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendall" "3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY" "37FaKponF7zqoMLUjEiko25pDiuVH5YLEa" 2

omni_sendenablefreezing

Enables address freezing for a centrally managed property.

Arguments:

Name Type Presence Description
fromaddress string required the address to send from (must be issuer of a managed property)
propertyid number required the identifier of the tokens

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendenablefreezing" "3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY" 2

omni_senddisablefreezing

Disables address freezing for a centrally managed property.

IMPORTANT NOTE: Disabling freezing for a property will UNFREEZE all frozen addresses for that property!

Arguments:

Name Type Presence Description
fromaddress string required the address to send from (must be issuer of a managed property)
propertyid number required the identifier of the tokens

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_senddisablefreezing" "3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY" 2

omni_sendfreeze

Freeze an address for a centrally managed token.

Note: Only the issuer may freeze tokens, and only if the token is of the managed type with the freezing option enabled.

Arguments:

Name Type Presence Description
fromaddress string required the address to send from (must be issuer of a managed property with freezing enabled
toaddress string required the address to freeze
propertyid number required the identifier of the tokens to freeze
amount string required the amount to freeze (note: currently unused, frozen addresses cannot transact the property)

Result:

"hash"  // (string) the hex-encoded transaction hash

Example:

$ omnicore-cli "omni_sendfreeze" "3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY" "3HTHRxu3aSDV4deakjC7VmsiUp7c6dfbvs" 2 1000

omn​​i_sendunfreeze

解冻集中管理令牌的地址。

注意:只有发行人可以解冻令牌

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址(必须是已启用冻结的托管财产的发行人
toaddress 需要 地址解冻
propertyid 需要 要解冻的标记的标识符
amount 需要 解冻量(注意:目前未使用

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_sendunfreeze ”  “ 3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY ”  “ 3HTHRxu3aSDV4deakjC7VmsiUp7c6dfbvs ” 2 1000

omn​​i_sendrawtx

广播原始的Omni Layer交易。

参数:

名称 类型 存在 描述
fromaddress 需要 要发送的地址
rawtransaction 需要 十六进制编码的原始事务
referenceaddress 可选的 一个参考地址(默认没有)
redeemaddress 可选的 一个可以花费交易粉尘的地址(默认发件人)
referenceamount 可选的 发送给接收方的比特币金额(默认情况下最小)

结果:

“ hash ”   //(字符串)十六进制编码的事务散列

例:

$ omnicore-cli “ omn​​i_sendrawtx ” \
“ 1MCHESTptvd2LnNp7wmr2sGTpRomteAkq8 ” “ 000000000000000100000000017d7840 ” \
“ 1EqTta1Rt8ixAA32DuC29oukbsSWU62qAV ”

数据检索

用于数据检索的RPC可用于获取有关Omni生态系统状态的信息。

omn​​i_getinfo

Returns various state information of the client and protocol.

Arguments:

None

Result:

Result:
{
"omnicoreversion_int" : xxxxxxx, // (number) client version as integer
"omnicoreversion" : "x.x.x.x-xxx", // (string) client version
"mastercoreversion" : "x.x.x.x-xxx", // (string) client version (DEPRECIATED)
"bitcoincoreversion" : "x.x.x", // (string) Bitcoin Core version
"commitinfo" : "xxxxxxx", // (string) build commit identifier
"block" : nnnnnn, // (number) index of the last processed block
"blocktime" : nnnnnnnnnn, // (number) timestamp of the last processed block
"blocktransactions" : nnnn, // (number) Omni transactions found in the last processed block
"totaltransactions" : nnnnnnnn, // (number) Omni transactions processed in total
"alerts" : [ // (array of JSON objects) active protocol alert (if any)
{
"alerttype" : n // (number) alert type as integer
"alerttype" : "xxx" // (string) alert type (can be "alertexpiringbyblock", "alertexpiringbyblocktime", "alertexpiringbyclientversion" or "error")
"alertexpiry" : "nnnnnnnnnn" // (string) expiration criteria (can refer to block height, timestamp or client verion)
"alertmessage" : "xxx" // (string) information about the alert
},
...
]
}

Example:

$ omnicore-cli "omni_getinfo"

omni_getbalance

Returns the token balance for a given address and property.

Arguments:

Name Type Presence Description
address string required the address
propertyid number required the property identifier

Result:

{
"balance" : "n.nnnnnnnn", // (string) the available balance of the address
"reserved" : "n.nnnnnnnn", // (string) the amount reserved by sell offers and accepts
"frozen" : "n.nnnnnnnn" // (string) the amount frozen by the issuer (applies to managed properties only)
}

Example:

$ omnicore-cli "omni_getbalance", "1EXoDusjGwvnjZUyKkxZ4UHEf77z6A5S4P" 1

omni_getallbalancesforid

Returns a list of token balances for a given currency or property identifier.

Arguments:

Name Type Presence Description
propertyid number required the property identifier

Result:

[                          // (array of JSON objects)
{
"address" : "address", // (string) the address
"balance" : "n.nnnnnnnn", // (string) the available balance of the address
"reserved" : "n.nnnnnnnn" // (string) the amount reserved by sell offers and accepts
},
...
]

Example:

$ omnicore-cli "omni_getallbalancesforid" 1

omni_getallbalancesforaddress

Returns a list of all token balances for a given address.

Arguments:

Name Type Presence Description
address string required the address

Result:

[                          // (array of JSON objects)
{
"propertyid" : n, // (number) the property identifier
"balance" : "n.nnnnnnnn", // (string) the available balance of the address
"reserved" : "n.nnnnnnnn" // (string) the amount reserved by sell offers and accepts
},
...
]

Example:

$ omnicore-cli "omni_getallbalancesforaddress" "1EXoDusjGwvnjZUyKkxZ4UHEf77z6A5S4P"

omni_gettransaction

Get detailed information about an Omni transaction.

Arguments:

Name Type Presence Description
txid string required the hash of the transaction to lookup

Result:

{
"txid" : "hash", // (string) the hex-encoded hash of the transaction
"sendingaddress" : "address", // (string) the Bitcoin address of the sender
"referenceaddress" : "address", // (string) a Bitcoin address used as reference (if any)
"ismine" : true|false, // (boolean) whether the transaction involes an address in the wallet
"confirmations" : nnnnnnnnnn, // (number) the number of transaction confirmations
"fee" : "n.nnnnnnnn", // (string) the transaction fee in bitcoins
"blocktime" : nnnnnnnnnn, // (number) the timestamp of the block that contains the transaction
"valid" : true|false, // (boolean) whether the transaction is valid
"positioninblock" : n, // (number) the position (index) of the transaction within the block
"version" : n, // (number) the transaction version
"type_int" : n, // (number) the transaction type as number
"type" : "type", // (string) the transaction type as string
[...] // (mixed) other transaction type specific properties
}

Example:

$ omnicore-cli "omni_gettransaction" "1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d"

omni_listtransactions

List wallet transactions, optionally filtered by an address and block boundaries.

Arguments:

Name Type Presence Description
txid string optional address filter (default: "*")
count number optional show at most n transactions (default: 10)
skip number optional skip the first n transactions (default: 0)
startblock number optional first block to begin the search (default: 0)
endblock number optional last block to include in the search (default: 999999)

Result:

[                                // (array of JSON objects)
{
"txid" : "hash", // (string) the hex-encoded hash of the transaction
"sendingaddress" : "address", // (string) the Bitcoin address of the sender
"referenceaddress" : "address", // (string) a Bitcoin address used as reference (if any)
"ismine" : true|false, // (boolean) whether the transaction involves an address in the wallet
"confirmations" : nnnnnnnnnn, // (number) the number of transaction confirmations
"fee" : "n.nnnnnnnn", // (string) the transaction fee in bitcoins
"blocktime" : nnnnnnnnnn, // (number) the timestamp of the block that contains the transaction
"valid" : true|false, // (boolean) whether the transaction is valid
"positioninblock" : n, // (number) the position (index) of the transaction within the block
"version" : n, // (number) the transaction version
"type_int" : n, // (number) the transaction type as number
"type" : "type", // (string) the transaction type as string
[...] // (mixed) other transaction type specific properties
},
...
]

Example:

$ omnicore-cli "omni_listtransactions"

omni_listblocktransactions

Lists all Omni transactions in a block.

Arguments:

Name Type Presence Description
index number required the block height or block index

Result:

[      // (array of string)
"hash", // (string) the hash of the transaction
...
]

Example:

$ omnicore-cli "omni_listblocktransactions" 279007

omni_listpendingtransactions

Returns a list of unconfirmed Omni transactions, pending in the memory pool.

Note: the validity of pending transactions is uncertain, and the state of the memory pool may change at any moment. It is recommended to check transactions after confirmation, and pending transactions should be considered as invalid.

Arguments:

Name Type Presence Description
address string optional filter results by address (default: "" for no filter)

Result:

[                                // (array of JSON objects)
{
"txid" : "hash", // (string) the hex-encoded hash of the transaction
"sendingaddress" : "address", // (string) the Bitcoin address of the sender
"referenceaddress" : "address", // (string) a Bitcoin address used as reference (if any)
"ismine" : true|false, // (boolean) whether the transaction involes an address in the wallet
"fee" : "n.nnnnnnnn", // (string) the transaction fee in bitcoins
"version" : n, // (number) the transaction version
"type_int" : n, // (number) the transaction type as number
"type" : "type", // (string) the transaction type as string
[...] // (mixed) other transaction type specific properties
},
...
]

Example:

$ omnicore-cli "omni_listpendingtransactions"

omni_getactivedexsells

Returns currently active offers on the distributed exchange.

Arguments:

Name Type Presence Description
address string optional address filter (default: include any)

Result:

[                                  // (array of JSON objects)
{
"txid" : "hash", // (string) the hash of the transaction of this offer
"propertyid" : n, // (number) the identifier of the tokens for sale
"seller" : "address", // (string) the Bitcoin address of the seller
"amountavailable" : "n.nnnnnnnn", // (string) the number of tokens still listed for sale and currently available
"bitcoindesired" : "n.nnnnnnnn", // (string) the number of bitcoins desired in exchange
"unitprice" : "n.nnnnnnnn" , // (string) the unit price (BTC/token)
"timelimit" : nn, // (number) the time limit in blocks a buyer has to pay following a successful accept
"minimumfee" : "n.nnnnnnnn", // (string) the minimum mining fee a buyer has to pay to accept this offer
"amountaccepted" : "n.nnnnnnnn", // (string) the number of tokens currently reserved for pending "accept" orders
"accepts": [ // (array of JSON objects) a list of pending "accept" orders
{
"buyer" : "address", // (string) the Bitcoin address of the buyer
"block" : nnnnnn, // (number) the index of the block that contains the "accept" order
"blocksleft" : nn, // (number) the number of blocks left to pay
"amount" : "n.nnnnnnnn" // (string) the amount of tokens accepted and reserved
"amounttopay" : "n.nnnnnnnn" // (string) the amount in bitcoins needed finalize the trade
},
...
]
},
...
]

Example:

$ omnicore-cli "omni_getactivedexsells"

omni_listproperties

Lists all tokens or smart properties.

Arguments:

None

Result:

[                               // (array of JSON objects)
{
"propertyid" : n, // (number) the identifier of the tokens
"name" : "name", // (string) the name of the tokens
"category" : "category", // (string) the category used for the tokens
"subcategory" : "subcategory", // (string) the subcategory used for the tokens
"data" : "information", // (string) additional information or a description
"url" : "uri", // (string) an URI, for example pointing to a website
"divisible" : true|false // (boolean) whether the tokens are divisible
},
...
]

Example:

$ omnicore-cli "omni_listproperties"

omni_getproperty

Returns details for about the tokens or smart property to lookup.

Arguments:

Name Type Presence Description
propertyid number required the identifier of the tokens or property

Result:

{
"propertyid" : n, // (number) the identifier
"name" : "name", // (string) the name of the tokens
"category" : "category", // (string) the category used for the tokens
"subcategory" : "subcategory", // (string) the subcategory used for the tokens
"data" : "information", // (string) additional information or a description
"url" : "uri", // (string) an URI, for example pointing to a website
"divisible" : true|false, // (boolean) whether the tokens are divisible
"issuer" : "address", // (string) the Bitcoin address of the issuer on record
"creationtxid" : "hash", // (string) the hex-encoded creation transaction hash
"fixedissuance" : true|false, // (boolean) whether the token supply is fixed
"managedissuance" : true|false, // (boolean) whether the token supply is managed by the issuer
"freezingenabled" : true|false, // (boolean) whether freezing is enabled for the property (managed properties only)
"totaltokens" : "n.nnnnnnnn" // (string) the total number of tokens in existence
}

Example:

$ omnicore-cli "omni_getproperty" 3

omni_getactivecrowdsales

Lists currently active crowdsales.

Arguments:

None

Result:

[                                // (array of JSON objects)
{
"propertyid" : n, // (number) the identifier of the crowdsale
"name" : "name", // (string) the name of the tokens issued via the crowdsale
"issuer" : "address", // (string) the Bitcoin address of the issuer on record
"propertyiddesired" : n, // (number) the identifier of the tokens eligible to participate in the crowdsale
"tokensperunit" : "n.nnnnnnnn", // (string) the amount of tokens granted per unit invested in the crowdsale
"earlybonus" : n, // (number) an early bird bonus for participants in percent per week
"percenttoissuer" : n, // (number) a percentage of tokens that will be granted to the issuer
"starttime" : nnnnnnnnnn, // (number) the start time of the of the crowdsale as Unix timestamp
"deadline" : nnnnnnnnnn // (number) the deadline of the crowdsale as Unix timestamp
},
...
]

Example:

$ omnicore-cli "omni_getactivecrowdsales"

omni_getcrowdsale

Returns information about a crowdsale.

Arguments:,

Name Type Presence Description
propertyid number required the identifier of the crowdsale
verbose boolean optional list crowdsale participants (default: false)

Result:

{
“ propertyid ” : n, //(number)crowdsale的标识符
“ name ” : “ name ”, //(字符串)通过crowdsale发布的标记的名称
“ active ” : true | 假, //(布尔值)的crowdsale是否仍然是活动的
“发行者” : “地址”,
propertyiddesired “ : n, //(数字)有资格参与众包的令牌标识符
” tokensperunit “ : ” n.nnnnnnnn “, //(字符串)每个单位投入到众包中的授予令牌数量
” earlybonus “ : n, //(数字)为参与者提供的早期鸟类奖金,以每周百分比为单位
“百分比” : n, //(数字)将授予发行人的代币的百分比
“开始时间“ : NNNNNNNNNN, //(号码)的所述crowdsale如Unix时间戳的开始时间
”期限“ : NNNNNNNNNN, //(数)crowdsale如Unix时间戳的最后期限
” amountraised “ : ” n.nnnnnnnn “, //(字符串)参与者投入的令牌数量
“ tokensissued ” : “ n.nnnnnnnn ”, //(字符串)通过众包发布的令牌总数
“addedissuertokens “ : ” n.nnnnnnnn “ //(字符串)令牌授予发行人的奖金数额
” closedearly “ : 真| 假, //(Boolean)将crowdsale是否提前结束了(如果不活动)
” maxtokens “ : true | false, //(boolean)由于达到最大可发布标记的限制(如果不是活动的),
“终止时间” : nnnnnnnnnn, //(数字)当crowdsale结束(如果早关闭)时间
“ closetx ” : “散列”, //(串),该关闭crowdsale交易的十六进制编码的哈希值(如果手动关闭)
“ participanttransactions ”: [ / /(JSON对象数组)众包参与列表(如果verbose = true)
{
“ txid ” : “ hash ”, //(字符串)参与交易的十六进制编码哈希
“ amountsent ” : “ n.nnnnnnnn ”, //(字符串)参与者投入的令牌数量
“ participanttokens ” : “ n .nnnnnnnn “, //(字符串)授予参与者的令牌
” issuertokens “ : ” n.nnnnnnnn “ // (串)授予发行人的代币作为奖金
},
...
]
}

例:

$ omnicore-cli “ omn​​i_getcrowdsale ” 3 true

omn​​i_getgrants

返回有关被管理令牌的已授权和已吊销单位的信息。

参数:

没有

结果:

{
“ propertyid ” : n, //(数字)托管标记的标识符
“ name ” : “ name ”, //(字符串)标记的名称
“ issuer ” : “ address ”, //(字符串)发行人的Bitcoin地址记录为
“ creationtxid ” : “ hash ”, //(字符串)十六进制编码创建事务散列
“totaltokens “ : “ n.nnnnnnnn ”, //(字符串)存在的令牌总数
“ issuances ”: [ //(JSON对象数组)列出授予和撤销的令牌
{
“ txid ” : “ hash ”, //(字符串)授予标记的事务的散列
“ grant ” : “ n.nnnnnnnn ” //(字符串)此事务授予的标记数
},
{
“ txid ” : “ hash ”, //(字符串)撤销令牌的事务的散列
“ grant ” : “ n.nnnnnnnn ” //(字符串)此事务撤消的令牌数量
},
...
]
}

参数:

名称 类型 存在 描述
propertyid 需要 要查找的托管标记的标识符

例:

$ omnicore-cli “ omn​​i_getgrants ” 31

omn​​i_getsto

获取发送至所有者事务的信息和收件人。

参数:

名称 类型 存在 描述
txid 需要 要查找的交易的散列
recipientfilter 可选的 收件人筛选器(默认"*"为所有钱包)

结果:

{
"txid" : "hash", // (string) the hex-encoded hash of the transaction
"sendingaddress" : "address", // (string) the Bitcoin address of the sender
"ismine" : true|false, // (boolean) whether the transaction involes an address in the wallet
"confirmations" : nnnnnnnnnn, // (number) the number of transaction confirmations
"fee" : "n.nnnnnnnn", // (string) the transaction fee in bitcoins
"blocktime" : nnnnnnnnnn, // (number) the timestamp of the block that contains the transaction
"valid" : true|false, // (boolean) whether the transaction is valid
"positioninblock" : n, // (number) the position (index) of the transaction within the block
"version" : n, // (number) the transaction version
"type_int" : n, // (number) the transaction type as number
"type" : "type", // (string) the transaction type as string
"propertyid" : n, // (number) the identifier of sent tokens
"divisible" : true|false, // (boolean) whether the sent tokens are divisible
"amount" : "n.nnnnnnnn", // (string) the number of tokens sent to owners
"totalstofee" : "n.nnnnnnnn", // (string) the fee paid by the sender, nominated in OMNI or TOMNI
"recipients": [ // (array of JSON objects) a list of recipients
{
"address" : "address", // (string) the Bitcoin address of the recipient
"amount" : "n.nnnnnnnn" // (string) the number of tokens sent to this recipient
},
...
]
}

Example:

$ omnicore-cli "omni_getsto" "1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d" "*"

omni_gettrade

Get detailed information and trade matches for orders on the distributed token exchange.

Arguments:

Name Type Presence Description
txid string required the hash of the order to lookup

Result:

{
"txid" : "hash", // (string) the hex-encoded hash of the transaction of the order
"sendingaddress" : "address", // (string) the Bitcoin address of the trader
"ismine" : true|false, // (boolean) whether the order involes an address in the wallet
"confirmations" : nnnnnnnnnn, // (number) the number of transaction confirmations
"fee" : "n.nnnnnnnn", // (string) the transaction fee in bitcoins
"blocktime" : nnnnnnnnnn, // (number) the timestamp of the block that contains the transaction
"valid" : true|false, // (boolean) whether the transaction is valid
"positioninblock" : n, // (number) the position (index) of the transaction within the block
"version" : n, // (number) the transaction version
"type_int" : n, // (number) the transaction type as number
"type" : "type", // (string) the transaction type as string
"propertyidforsale" : n, // (number) the identifier of the tokens put up for sale
"propertyidforsaleisdivisible" : true|false, // (boolean) whether the tokens for sale are divisible
"amountforsale" : "n.nnnnnnnn", // (string) the amount of tokens initially offered
"propertyiddesired" : n, // (number) the identifier of the tokens desired in exchange
"propertyiddesiredisdivisible" : true|false, // (boolean) whether the desired tokens are divisible
"amountdesired" : "n.nnnnnnnn", // (string) the amount of tokens initially desired
"unitprice" : "n.nnnnnnnnnnn..." // (string) the unit price (shown in the property desired)
"status" : "status" // (string) the status of the order ("open", "cancelled", "filled", ...)
"canceltxid" : "hash", // (string) the hash of the transaction that cancelled the order (if cancelled)
"matches": [ // (array of JSON objects) a list of matched orders and executed trades
{
"txid" : "hash", // (string) the hash of the transaction that was matched against
"block" : nnnnnn, // (number) the index of the block that contains this transaction
"address" : "address", // (string) the Bitcoin address of the other trader
"amountsold" : "n.nnnnnnnn", // (string) the number of tokens sold in this trade
"amountreceived" : "n.nnnnnnnn" // (string) the number of tokens traded in exchange
},
...
]
}

Example:

$ omnicore-cli "omni_gettrade" "1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d"

omni_getorderbook

List active offers on the distributed token exchange.

Arguments:

Name Type Presence Description
propertyid number required filter orders by propertyid for sale
propertyid number optional filter orders by propertyid desired

Result:

[                                             // (array of JSON objects)
{
"address" : "address", // (string) the Bitcoin address of the trader
"txid" : "hash", // (string) the hex-encoded hash of the transaction of the order
"ecosystem" : "main"|"test", // (string) the ecosytem in which the order was made (if "cancel-ecosystem")
"propertyidforsale" : n, // (number) the identifier of the tokens put up for sale
"propertyidforsaleisdivisible" : true|false, // (boolean) whether the tokens for sale are divisible
"amountforsale" : "n.nnnnnnnn", // (string) the amount of tokens initially offered
"amountremaining" : "n.nnnnnnnn", // (string) the amount of tokens still up for sale
"propertyiddesired" : n, // (number) the identifier of the tokens desired in exchange
"propertyiddesiredisdivisible" : true|false, // (boolean) whether the desired tokens are divisible
"amountdesired" : "n.nnnnnnnn", // (string) the amount of tokens initially desired
"amounttofill" : "n.nnnnnnnn", // (string) the amount of tokens still needed to fill the offer completely
"action" : n, // (number) the action of the transaction: (1) "trade", (2) "cancel-price", (3) "cancel-pair", (4) "cancel-ecosystem"
"block" : nnnnnn, // (number) the index of the block that contains the transaction
"blocktime" : nnnnnnnnnn // (number) the timestamp of the block that contains the transaction
},
...
]

Example:

$ omnicore-cli "omni_getorderbook" 2

omni_gettradehistoryforpair

检索指定市场的分布式令牌交易所的交易历史。

参数:

名称 类型 存在 描述
propertyid 需要 交易对的第一面
propertyid 需要 交易对的第二面
count 可选的 交易数量检索(默认值:10

结果:

[                                      //(JSON对象数组)
{
“块” : NNNNNN, //(数)的块的包含贸易匹配索引
“单价” : “ n.nnnnnnnnnnn ... ”, //(字符串)用来执行这个交易的单位价格(接收/卖出)
“ inverseprice ” : “ n.nnnnnnnnnnn ... ”, //(字符串)反向单位价格(出售/收到)
“ sellertxid ” : “ hash ”, //(string)的卖方的交易的散列
“地址” : “地址”, //(string)的卖方的比特币地址
“ amountsold ” : “ n.nnnnnnnn ”, //(串)的令牌的数量出售在这个交易中
“ amountreceived ” : “ n.nnnnnnnn ”, //(字符串)交易的交易所交易的代币数量
“ matchingtxid ” : “散列”, //(字符串)与
“ matchingaddress ” 匹配的事务的散列值: “ address ” //(字符串)此交易另一方的比特币地址
},
...
]

例:

$ omnicore-cli “ omn​​i_gettradehistoryforpair ” 1 12 500

omn​​i_gettradehistoryforaddress

检索分发交换机上提供的地址的订单历史记录。

参数:

名称 类型 存在 描述
address 需要 地址来检索历史
count 可选的 订单号来检索(默认值:10
propertyid 可选的 通过propertyid进行过滤事务处理(默认:无过滤器)

结果:

[                                              //(JSON对象数组)
{
“ TxID添加” : “散”, //(字符串)订单的交易的十六进制编码的哈希值
“ sendingaddress ” : “地址”, //(字符串)交易的比特币地址
“ ismine ” : 真| false, //(boolean)订单是否在钱包
“确认”中 输入地址: nnnnnnnnnn, //(数量)交易确认次数
“费用” : “ n.nnnnnnnn ”, //(字符串)比特币交易费用
“ blocktime ” : nnnnnnnnnn, //(数字)包含交易的块的时间戳
“有效“ : true | false, //(boolean)事务是否有效
“ positioninblock ” : n, //(number)块
“版本” 内事务的位置(索引): n, //(number)事务版本
“ type_int ” : n, //(数字)事务类型为数字
“ type ” : “ type “, //(字符串)作为字符串
” propertyidforsale “ 的交易类型: n, //(数字)出售的令牌的标识符
”propertyidforsaleisdivisible “ : true | false, //(布尔值)出售令牌是否可分割
” amountforsale “ : ” n.nnnnnnnn “, //(字符串)最初提供的令牌数量
” propertyiddesired “ : n, //(number )交换
“ propertyiddesiredisdivisible ” 所需的令牌标识符: true | false, //(布尔)期望的标记是否可以被整除
“ amountdesired ” : “ n.nnnnnnnn ”, //(字符串)初始期望的标记数量
“ unitprice ” : “ n.nnnnnnnnnnn ... ” //(字符串)单位价格(在所需属性中显示)
“ status ” : “ status ” //(字符串)订单状态(“打开”,“取消”,“填充”,...)
“ canceltxid ” : “哈希“, //(字符串)取消订单的事务的散列(如果取消)
“ matches ”: [ //(JSON对象数组)匹配订单和执行交易的列表
{
“ txid ” : “ hash ”, //(字符串)与
“ block ” 匹配的事务的散列: nnnnnn, //(数字)包含此事务的
地址的索引“ address ” : “ address ”, //(string)的其它交易者的比特币地址
“ amountsold ” : “ n.nnnnnnnn ”, //(字符串)在此交易中出售的令牌数量
“ amountreceived ” : “ n.nnnnnnnn ” //(字符串)交换的令牌数量
},
...
]
},
...
]

例:

$ omnicore-cli “ omn​​i_gettradehistoryforaddress ”  “ 1MCHESTptvd2LnNp7wmr2sGTpRomteAkq8 ”

omn​​i_getactivations

返回挂起和完成的功能激活。

结果:

{
“ pendingactivations ”: [ //(JSON对象数组)未决特征的激活列表
{
"featureid" : n, // (number) the id of the feature
"featurename" : "xxxxxxxx", // (string) the name of the feature
"activationblock" : n, // (number) the block the feature will be activated
"minimumversion" : n // (number) the minimum client version needed to support this feature
},
...
]
"completedactivations": [ // (array of JSON objects) a list of completed feature activations
{
"featureid" : n, // (number) the id of the feature
"featurename" : "xxxxxxxx", // (string) the name of the feature
"activationblock" : n, // (number) the block the feature will be activated
"minimumversion" : n // (number) the minimum client version needed to support this feature
},
...
]
}

Example:

$ omnicore-cli "omni_getactivations"

omni_getpayload

Get the payload for an Omni transaction.

Arguments:

Name Type Presence Description
txid string required the hash of the transaction to retrieve payload

Result:

{
"payload" : "payloadmessage", // (string) the decoded Omni payload message
"payloadsize" : n // (number) the size of the payload
}

Example:

$ omnicore-cli "omni_getactivations" "1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d"

omni_getseedblocks

Returns a list of blocks containing Omni transactions for use in seed block filtering.

WARNING: The Exodus crowdsale is not stored in LevelDB, thus this is currently only safe to use to generate seed blocks after block 255365.

Arguments:

Name Type Presence Description
startblock number required the first block to look for Omni transactions (inclusive)
endblock number required the last block to look for Omni transactions (inclusive)

Result:

[         // (array of numbers) a list of seed blocks
nnnnnnn, // the block height of the seed block
...
]

Example:

$ omnicore-cli "omni_getseedblocks" 290000 300000

omni_getcurrentconsensushash

Returns the consensus hash covering the state of the current block.

Arguments:

None

Result:

{
“ block ” : nnnnnn, //(数字)此共识散列应用于
“ blockhash ” 的块的索引: “ hash ”, //(字符串)相应块的散列
“ consensushash ” : “ hash ” //(字符串)块的共识散列
}

例:

$ omnicore-cli “ omn​​i_getcurrentconsensushash ”

原始交易

原始交易/有效载荷的RPC可用于解码或创建原始Omni交易。

omn​​i_decodetransaction

解码Omni事务。

如果交易的输入不在链中,则必须提供它们,因为交易输入用于识别交易的发送者。

可以提供块高度,用于确定解析规则。

参数:

名称 类型 存在 描述
rawtx 需要 原始事务解码
prevtxs 可选的 事务输入的JSON数组(默认值:无)
height 可选的 解析块高度(链高度的默认值为0)

格式prevtxs如下:

[
{
“ txid ” : “ hash ”, //(字符串,必需)事务散列
“ vout ” : n, //(数字,必需)输出数字
“ scriptPubKey ” : “ hex ”, //(字符串,必填)输出脚本
“值” : ñ。nnnnnnnn //(数字,必需)输出值
}
,...
]

结果:

{
“ txid ” : “ hash ”, //(字符串)交易的十六进制编码散列
“ fee ” : “ n.nnnnnnnn ”, //(字符串)比特币交易费用
“ sendingaddress ” : “地址”, //(字符串)发件人
“ referenceaddress ” 的比特币地址: “地址”, //(字符串)用作参考的比特币地址(如果有的话)
“ ismine ” : true | false, //(boolean)事务是否在钱包
“版本”中 输入地址: n, //(number)事务版本
“ type_int ” : n, //(数字)事务类型为数字
“ type ” : “ type ”, //(字符串)交易类型为字符串
[ ... ] //(混合)其他交易类型特定属性
}

例:

$ omn​​icore-CLI “ omn​​i_decodetransaction ”  “ 010000000163af14ce6d477e1c793507e32a5b7696288fa89705c0d02a3f66beb3c \
5b8afee0100000000ffffffff02ac020000000000004751210261ea979f6a06f9dafe00fb1263ea0aca959875a7073556a088cdf \
adcd494b3752102a3fd0a8a067e06941e066f78d930bfc47746f097fcd3f7ab27db8ddf37168b6b52ae22020000000000001976a \
914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac00000000 ” \
“ [{ \” TxID添加\ “:\” eeafb8c5b3be663f2ad0c00597a88f2896765b2ae30735791c7e476dce14af63 \ “ \” VOUT \”:1,\
“ scriptPubKey \”:\“ 76a9149084c0bd89289bc025d0264f7f23148fb683d56c88ac \”,\“ value \”:0.0001123}] “

omn​​i_createrawtx_opreturn

将类C(op-return)编码的有效载荷添加到事务中。

如果未提供原始交易,则创建新的交易。

如果数据编码失败,那么事务不会被修改。

参数:

名称 类型 存在 描述
rawtx 需要 原始交易延伸(可以null
payload 需要 要添加的十六进制编码的有效载荷

结果:

“ rawtx ”   //(字符串)十六进制编码修改的原始事务

例:

$ omnicore-cli "omni_createrawtx_opreturn" "01000000000000000000" "00000000000000020000000006dac2c0"

omni_createrawtx_multisig

Adds a payload with class B (bare-multisig) encoding to the transaction.

If no raw transaction is provided, a new transaction is created.

If the data encoding fails, then the transaction is not modified.

Arguments:

Name Type Presence Description
rawtx string required the raw transaction to extend (can be null)
payload string required the hex-encoded payload to add
seed string required the seed for obfuscation
payload string required a public key or address for dust redemption

Result:

"rawtx"  // (string) the hex-encoded modified raw transaction

Example:

$ omnicore-cli "omni_createrawtx_multisig" \
"0100000001a7a9402ecd77f3c9f745793c9ec805bfa2e14b89877581c734c774864247e6f50400000000ffffffff01aa0a00000 \
00000001976a9146d18edfe073d53f84dd491dae1379f8fb0dfe5d488ac00000000" \
"00000000000000020000000000989680"
"1LifmeXYHeUe2qdKWBGVwfbUCMMrwYtoMm" \
"0252ce4bdd3ce38b4ebbc5a6e1343608230da508ff12d23d85b58c964204c4cef3"

omni_createrawtx_input

Adds a transaction input to the transaction.

If no raw transaction is provided, a new transaction is created.

Arguments:

Name Type Presence Description
rawtx string required the raw transaction to extend (can be null)
txid string required the hash of the input transaction
n number required the index of the transaction output used as input

Result:

"rawtx"  // (string) the hex-encoded modified raw transaction

Example:

$ omnicore-cli "omni_createrawtx_input" \
"01000000000000000000" "b006729017df05eda586df9ad3f8ccfee5be340aadf88155b784d1fc0e8342ee" 0

omni_createrawtx_reference

Adds a reference output to the transaction.

If no raw transaction is provided, a new transaction is created.

The output value is set to at least the dust threshold.

Arguments:

Name Type Presence Description
rawtx string required the raw transaction to extend (can be null)
destination string required the reference address or destination
amount number optional the optional reference amount (minimal by default)

Result:

"rawtx"  // (string) the hex-encoded modified raw transaction

Example:

$ omnicore-cli "omni_createrawtx_reference" \
"0100000001a7a9402ecd77f3c9f745793c9ec805bfa2e14b89877581c734c774864247e6f50400000000ffffffff03aa0a00000
00000001976a9146d18edfe073d53f84dd491dae1379f8fb0dfe5d488ac5c0d0000000000004751210252ce4bdd3ce38b4ebbc5a
6e1343608230da508ff12d23d85b58c964204c4cef3210294cc195fc096f87d0f813a337ae7e5f961b1c8a18f1f8604a909b3a51
21f065b52aeaa0a0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac00000000" \
"1CE8bBr1dYZRMnpmyYsFEoexa1YoPz2mfB" \
0.005

omni_createrawtx_change

Adds a change output to the transaction.

提供的输入不会被添加到事务中,而只会用于确定更改。假定输入是以前添加的,例如通过"createrawtransaction"

可选地,可以提供一个位置,其中应该插入变化输出,从开始0。如果输出的数量小于该位置,则更改输出将添加到结尾。更改输出应插入到参考输出之前,并按照默认值将更改输出添加到“第一个位置”。

如果更改量将被视为灰尘,则不会添加更改输出。

参数:

名称 类型 存在 描述
rawtx 需要 原始交易延伸
prevtxs 需要 事务输入的JSON数组
destination 需要 变化的目的地
fee 需要 所需的交易费用
position 可选的 更改输出的位置(默认:第一个位置)

格式prevtxs如下:

[
{
“ txid ” : “ hash ”, //(字符串,必需)事务散列
“ vout ” : n, //(数字,必需)输出数字
“ scriptPubKey ” : “ hex ”, //(字符串,必填)输出脚本
“值” : ñ。nnnnnnnn //(数字,必需)输出值
}
,...
]

结果:

“ rawtx ”   //(字符串)十六进制编码修改的原始事务

例:

$ omn​​icore-CLI “ omn​​i_createrawtx_change ” \
“ 0100000001b15ee60431ef57ec682790dec5a3c0d83a0c360633ea8308fbf6d5fc10a779670400000000ffffffff025c0d00000 \
000000047512102f3e471222bb57a7d416c82bf81c627bfcd2bdc47f36e763ae69935bba4601ece21021580b888ff56feb27f17f \
08802ebed26258c23697d6a462d43fc13b565fda2dd52aeaa0a0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2 \
339d24288ac00000000 ” \
“ [{ \” TxID添加\ “:\” 6779a710fcd5f6fb0883ea3306360c3ad8c0a3c5de902768ec57ef3104e65eb1 \ “ \”vout “:4,\\
“ scriptPubKey \”:\“ 76a9147b25205fd98d462880a3e5b0541235831ae959e588ac \”,\“ value \”:0.00068257}} “ \
” 1CE8bBr1dYZRMnpmyYsFEoexa1YoPz2mfB “ 0.000035 1

omn​​i_createpayload_simplesend

为简单的发送事务创建有效负载。

参数:

名称 类型 存在 描述
propertyid 需要 要发送的令牌的标识符
amount 需要 要发送的金额

结果:

“ payload ”   //(字符串)十六进制编码的有效载荷

例:

$ omnicore-cli “ omn​​i_createpayload_simplesend ” 1 “ 100.0 ”

omni_createpayload_sendall

Create the payload for a send all transaction.

Arguments:

Name Type Presence Description
ecosystem number required the ecosystem of the tokens to send (1 for main ecosystem, 2 for test ecosystem)

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_sendall" 2

omni_createpayload_dexsell

Create a payload to place, update or cancel a sell offer on the traditional distributed OMNI/BTC exchange.

Arguments:

Name Type Presence Description
propertyidforsale number required the identifier of the tokens to list for sale (must be 1 for OMNI or 2 for TOMNI)
amountforsale string required the amount of tokens to list for sale
amountdesired string required the amount of bitcoins desired
paymentwindow number required a time limit in blocks a buyer has to pay following a successful accepting order
minacceptfee string required a minimum mining fee a buyer has to pay to accept the offer
action number required the action to take (1 for new offers, 2 to update", 3 to cancel)

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_dexsell" 1 "1.5" "0.75" 25 "0.0005" 1

omni_createpayload_dexaccept

Create the payload for an accept offer for the specified token and amount.

Arguments:

Name Type Presence Description
propertyid number required the identifier of the token to purchase
amount string required the amount to accept

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_dexaccept" 1 "15.0"

omni_createpayload_sto

Creates the payload for a send-to-owners transaction.

Arguments:

Name Type Presence Description
propertyid number required the identifier of the token to distribute
amount string required the amount to distribute
distributionproperty number optional the identifier of the property holders to distribute to

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_sto" 3 "5000"

omni_createpayload_issuancefixed

Creates the payload for a new tokens issuance with fixed supply.

Arguments:

Name Type Presence Description
ecosystem number required the ecosystem to create the tokens in (1 for main ecosystem, 2 for test ecosystem)
type number required the type of the tokens to create: (1 for indivisible tokens, 2 for divisible tokens)
previousid number required an identifier of a predecessor token (use 0 for new tokens)
category string required a category for the new tokens (can be "")
subcategory string required a subcategory for the new tokens (can be "")
name string required the name of the new tokens to create
url string required an URL for further information about the new tokens (can be "")
data string required a description for the new tokens (can be "")
amount string required the number of tokens to create

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_issuancefixed" 2 1 0 "Companies" "Bitcoin Mining" "Quantum Miner" "" "" "1000000"

omni_createpayload_issuancecrowdsale

Creates the payload for a new tokens issuance with crowdsale.

Arguments:

Name Type Presence Description
ecosystem number required the ecosystem to create the tokens in (1 for main ecosystem, 2 for test ecosystem)
type number required the type of the tokens to create: (1 for indivisible tokens, 2 for divisible tokens)
previousid number required an identifier of a predecessor token (use 0 for new tokens)
category string required a category for the new tokens (can be "")
subcategory string required a subcategory for the new tokens (can be "")
name string required the name of the new tokens to create
url string required an URL for further information about the new tokens (can be "")
data string required a description for the new tokens (can be "")
propertyiddesired number required the identifier of a token eligible to participate in the crowdsale
tokensperunit string required the amount of tokens granted per unit invested in the crowdsale
deadline number required the deadline of the crowdsale as Unix timestamp
earlybonus number required an early bird bonus for participants in percent per week
issuerpercentage number required a percentage of tokens that will be granted to the issuer

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_issuancecrowdsale" 2 1 0 "Companies" "Bitcoin Mining" "Quantum Miner" "" "" 2 "100" 1483228800 30 2

omni_createpayload_issuancemanaged

Creates the payload for a new tokens issuance with manageable supply.

Arguments:

Name Type Presence Description
ecosystem number required the ecosystem to create the tokens in (1 for main ecosystem, 2 for test ecosystem)
type number required the type of the tokens to create: (1 for indivisible tokens, 2 for divisible tokens)
previousid number required an identifier of a predecessor token (use 0 for new tokens)
category string required a category for the new tokens (can be "")
subcategory string required a subcategory for the new tokens (can be "")
name string required the name of the new tokens to create
url string required an URL for further information about the new tokens (can be "")
data string required a description for the new tokens (can be "")

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_issuancemanaged" 2 1 0 "Companies" "Bitcoin Mining" "Quantum Miner" "" ""

omni_createpayload_closecrowdsale

Creates the payload to manually close a crowdsale.

Arguments:

Name Type Presence Description
propertyid number required the identifier of the crowdsale to close

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_closecrowdsale" 70

omni_createpayload_grant

Creates the payload to issue or grant new units of managed tokens.

Arguments:

Name Type Presence Description
propertyid number required the identifier of the tokens to grant
amount string required the amount of tokens to create
memo string optional a text note attached to this transaction (none by default)

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_grant" 51 "7000"

omni_createpayload_revoke

Creates the payload to revoke units of managed tokens.

Arguments:

Name Type Presence Description
propertyid number required the identifier of the tokens to revoke
amount string required the amount of tokens to revoke
memo string optional a text note attached to this transaction (none by default)

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_revoke" 51 "100"

omni_createpayload_changeissuer

Creates the payload to change the issuer on record of the given tokens.

Arguments:

Name Type Presence Description
propertyid number required the identifier of the tokens

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli "omni_createpayload_changeissuer" 3

omni_createpayload_trade

Creates the payload to place a trade offer on the distributed token exchange.

Arguments:

Name Type Presence Description
propertyidforsale number required the identifier of the tokens to list for sale
amountforsale string required the amount of tokens to list for sale
propertyiddesired number required the identifier of the tokens desired in exchange
amountdesired string required the amount of tokens desired in exchange

Result:

"payload"  // (string) the hex-encoded payload

Example:

$ omnicore-cli “ omn​​i_createpayload_trade ” 31 “ 250.0 ” 1 “ 10.0 ”

omn​​i_createpayload_canceltradesbyprice

创建有效负载以取消具有指定价​​格的分布式令牌交换机上的报价。

参数:

名称 类型 存在 描述
propertyidforsale 需要 标记的标识符以列出待售
amountforsale 需要 要出售的代币数量
propertyiddesired 需要 交换所需令牌的标识符
amountdesired 需要 交换所需的令牌数量

结果:

“ payload ”   //(字符串)十六进制编码的有效载荷

例:

$ omnicore-cli “ omn​​i_createpayload_canceltradesbyprice ” 31 “ 100.0 ” 1 “ 5.0 ”

omn​​i_createpayload_canceltradesbypair

创建有效负载以取消使用给定货币对的分布式令牌交换所有报价。

参数:

名称 类型 存在 描述
propertyidforsale 需要 标记的标识符以列出待售
propertyiddesired 需要 交换所需令牌的标识符

结果:

“ payload ”   //(字符串)十六进制编码的有效载荷

例:

$ omnicore-cli “ omn​​i_createpayload_canceltradesbypair ” 1 31

omn​​i_createpayload_cancelalltrades

创建有效负载以取消使用给定货币对的分布式令牌交换所有报价。

参数:

名称 类型 存在 描述
ecosystem 需要 提供的生态系统取消(主要生态系统1个,测试生态系统2个)

结果:

“ payload ”   //(字符串)十六进制编码的有效载荷

例:

$ omnicore-cli “ omn​​i_createpayload_cancelalltrades ” 1

费用制度

收费系统的RPC可用于获取有关费用制度和费用分配的数据。

omn​​i_getfeecache

Obtains the current amount of fees cached (pending distribution).

If a property ID is supplied the results will be filtered to show this property ID only. If no property ID is supplied the results will contain all properties that currently have fees cached pending distribution.

Arguments:

Name Type Presence Description
propertyid number optional the identifier of the property to filter results on

Result:

[                                  // (array of JSON objects)
{
"propertyid" : nnnnnnn, // (number) the property id
"cachedfees" : "n.nnnnnnnn", // (string) the amount of fees cached for this property
},
...
]

Example:

$ omnicore-cli "omni_getfeecache" 31

omni_getfeetrigger

Obtains the amount at which cached fees will be distributed.

If a property ID is supplied the results will be filtered to show this property ID only. If no property ID is supplied the results will contain all properties.

Arguments:

Name Type Presence Description
propertyid number optional the identifier of the property to filter results on

Result:

[                                  // (array of JSON objects)
{
"propertyid" : nnnnnnn, // (number) the property id
"feetrigger" : "n.nnnnnnnn", // (string) the amount of fees required to trigger distribution
},
...
]

Example:

$ omnicore-cli "omni_getfeetrigger" 31

omni_getfeeshare

Obtains the current percentage share of fees addresses would receive if a distribution were to occur.

如果提供地址,则结果将被过滤以仅显示该地址。如果未提供地址,则结果将被过滤以仅显示钱包地址。如果提供了通配符("*"),则结果将包含将接收共享的所有地址。

如果提供生态系统,结果将反映该生态系统(主要或测试)的费用份额。如果没有生态系统供应,结果将反映主要生态系统。

参数:

名称 类型 存在 描述
address 可选的 要过滤结果的地址
ecosystem 可选的 生态系统获得当前百分比费用份额(1 =主,2 =测试)

结果:

[                                   //(JSON对象数组)
{
“地址” : “地址” //(字符串)ADRESS,将收到的费用份额
“ feeshare ” : “ n.nnnn%”, //(字符串)费用的百分比这个地址可以接收基于当前状态
},
...
]

例:

$ omnicore-cli “ omn​​i_getfeeshare ”  “ 1CE8bBr1dYZRMnpmyYsFEoexa1YoPz2mfB ” 1

omn​​i_getfeedistribution

获取过去的费用分配数据。

必须提供分配ID以识别分配以获取数据。

参数:

名称 类型 存在 描述
distributionid 需要 要获取数据的分布的标识符

结果:

{
“ distributionid ” : n, //(数字)分配ID
“ propertyid ” : n, //(数字)分配的令牌的属性ID
“ block ” : n, //(数字)发生分配的块
“金额“ : ” n.nnnnnnnn “, //(字符串)分配金额
” recipients “: [ // (JSON对象数组)收件人列表
{
“地址” : “地址”, //(字符串)收件人地址
“金额” : “ n.nnnnnnnn ” //(字符串)收件人收到的费用金额
},
...
]
}

例:

$ omnicore-cli “ omn​​i_getfeedistribution ” 1

omn​​i_getfeedistributions

获取过去物业费用分布的数据。

必须提供属性ID才能检索过去的分配。

参数:

名称 类型 存在 描述
propertyid 需要 要检索过去分布的属性的标识符

结果:

[                                   //(JSON对象数组)
{
“ distributionid ” : N, //(数)分布ID
“物业ID ” : N, //(号码)的分布式令牌属性id
“块” : N, //(号码)发生的分布的块
“量“ : ” n.nnnnnnnn “, //(字符串)分配的金额
” recipients “: [ // (JSON对象数组)收件人列表
{
“地址” : “地址”, //(字符串)收件人地址
“金额” : “ n.nnnnnnnn ” //(字符串)收件人收到的费用金额
},
...
]
},
...
]

例:

$ omnicore-cli “ omn​​i_getfeedistributions ” 31

组态

用于配置的RPC可用于更改Omni Core设置。

omn​​i_setautocommit

设置确定事务是否自动提交和广播的全局标志。

参数:

名称 类型 存在 描述
flag 布尔 需要 国旗

结果:

true | 假  //(布尔)更新的标志状态

例:

$ omnicore-cli “ omn​​i_setautocommit ”  false

折旧的API调用

为确保向后兼容,折旧的RPC至少保留一个主要版本。

以下调用在Omni Core 0.0.10中被替换,并且使用旧命令的查询被转发。

  • send_MP 通过 omni_send
  • sendtoowners_MP 通过 omni_sendsto
  • sendrawtx_MP 通过 omni_sendrawtx
  • getinfo_MP 通过 omni_getinfo
  • getbalance_MP 通过 omni_getbalance
  • getallbalancesforid_MP 通过 omni_getallbalancesforid
  • getallbalancesforaddress_MP 通过 omni_getallbalancesforaddress
  • gettransaction_MP 通过 omni_gettransaction
  • listtransactions_MP 通过 omni_listtransactions
  • listblocktransactions_MP 通过 omni_listblocktransactions
  • getactivedexsells_MP 通过 omni_getactivedexsells
  • listproperties_MP 通过 omni_listproperties
  • getproperty_MP 通过 omni_getproperty
  • getactivecrowdsales_MP 通过 omni_getactivecrowdsales
  • getcrowdsale_MP 通过 omni_getcrowdsale
  • getgrants_MP 通过 omni_getgrants
  • getsto_MP通过omni_getstoomni_gettransaction
上一篇:扩展jquery easyui datagrid编辑单元格


下一篇:javascript运行机制详解: 再谈Event Loop(转)