本文转自: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协议事务。
作为结果返回广播事务的散列。
omni_send
创建并广播一个简单的发送事务。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 要发送的地址 |
toaddress |
串 | 需要 | 接收者的地址 |
propertyid |
数 | 需要 | 要发送的令牌的标识符 |
amount |
串 | 需要 | 要发送的金额 |
redeemaddress |
串 | 可选的 | 一个可以花费交易粉尘的地址(默认发件人) |
referenceamount |
串 | 可选的 | 发送给接收方的比特币金额(默认情况下最小) |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_send ” “ 3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY ” “ 37FaKponF7zqoMLUjEiko25pDiuVH5YLEa ” 1 “ 100.0 ”
omni_senddexsell
在传统的分布式OMNI / BTC交易平台上放置,更新或取消卖出报价。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 要发送的地址 |
propertyidforsale |
数 | 需要 | 要列出待售的代币的标识符(必须1 为OMNI 或2 为TOMNI ) |
amountforsale |
串 | 需要 | 要出售的代币数量 |
amountdesired |
串 | 需要 | 比特币的数量 |
paymentwindow |
数 | 需要 | 买方在成功接受订单后必须支付的时间限制 |
minacceptfee |
串 | 需要 | 买方必须支付接受报价的最低采矿费 |
action |
数 | 需要 | 采取的行动(1 对于新的优惠,2 更新,3 取消) |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_senddexsell ” “ 37FaKponF7zqoMLUjEiko25pDiuVH5YLEa ” 1 “ 1.5 ” “ 0.75 ” 25 “ 0.0005 ” 1
omni_senddexaccept
创建并广播指定代币和金额的接受优惠。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 要发送的地址 |
toaddress |
串 | 需要 | 卖方的地址 |
propertyid |
数 | 需要 | 要购买的令牌的标识符 |
amount |
串 | 需要 | 接受的金额 |
override |
布尔 | 需要 | 重写最低接受费用和支付窗口支票(谨慎使用!) |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_senddexaccept ” \
“ 35URq1NN3xL6GeRKUP6vzaQVcxoJiiJKd8 ” “ 37FaKponF7zqoMLUjEiko25pDiuVH5YLEa ” 1 “ 15.0 ”
omni_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 “ omni_sendissuancecrowdsale ” \
“ 3JYd75REX3HXn1vAU83YuGfmiPXW7BpYXo ” 2 1 0 “ Companies ” “ Bitcoin Mining ” \
“ Quantum Miner ” “ ” “ ” 2 “ 100 ” 1483228800 30 2
omni_sendissuancefixed
创建固定供应的新令牌。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 要发送的地址 |
ecosystem |
数 | 需要 | (1 主要生态系统,2 测试生态系统)中创建令牌的生态系统 |
type |
数 | 需要 | 要创建的令牌的类型:( 1 对于不可分的令牌,2 可分割的令牌) |
previousid |
数 | 需要 | 先前令牌的标识符(0 用于新令牌) |
category |
串 | 需要 | 新令牌的类别(可以"" ) |
subcategory |
串 | 需要 | 新令牌的子类别(可以"" ) |
name |
串 | 需要 | 要创建的新令牌的名称 |
url |
串 | 需要 | 有关新令牌的更多信息(可以"" ) |
data |
串 | 需要 | 新令牌的描述(可以"" ) |
amount |
串 | 需要 | 要创建的令牌的数量 |
tokensperunit |
串 | 需要 | 在众包中投入的单位授予的令牌数量 |
deadline |
数 | 需要 | 作为Unix时间戳的众包期限 |
earlybonus |
数 | 需要 | 为参与者提供每周百分比的早期奖金 |
issuerpercentage |
数 | 需要 | 将授予发行人的代币的百分比 |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_sendissuancefixed ” \
“ 3Ck2kEGLJtZw9ENj2tameMCtS3HB7uRar3 ” 2 1 0 “ Companies ” “ Bitcoin Mining ” \
“ Quantum Miner ” “ ” “ ” “ 1000000 ”
omni_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 “ omni_sendrevoke ” “ 3HsJvhr9qzgRe3ss97b1QHs38rmaLExLcH ” “ ” 51 “ 100 ”
omni_sendclosecrowdsale
手动关闭众包。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 与众包关联的地址关闭 |
propertyid |
数 | 需要 | 要关闭的众包标识符 |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_sendclosecrowdsale ” “ 3JYd75REX3HXn1vAU83YuGfmiPXW7BpYXo ” 70
omni_sendtrade
在分布式令牌交换机上放置交易报价。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 与之交易的地址 |
propertyidforsale |
数 | 需要 | 标记的标识符以列出待售 |
amountforsale |
串 | 需要 | 要出售的代币数量 |
propertiddesired |
数 | 需要 | 交换所需令牌的标识符 |
amountdesired |
串 | 需要 | 交换所需的令牌数量 |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_sendtrade ” “ 3BydPiSLPP3DR5cf726hDQ89fpqWLxPKLR ” 31 “ 250.0 ” 1 “ 10.0 ”
omni_sendcanceltradesbyprice
以指定价格取消分发令牌交易所的优惠。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 与之交易的地址 |
propertyidforsale |
数 | 需要 | 待售的令牌的标识符 |
amountforsale |
串 | 需要 | 要出售的代币数量 |
propertiddesired |
数 | 需要 | 交换所需令牌的标识符 |
amountdesired |
串 | 需要 | 交换所需的令牌数量 |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-CLI “ omni_sendcanceltradesbyprice ” “ 3BydPiSLPP3DR5cf726hDQ89fpqWLxPKLR ” 31 “ 100.0 ” 1 “ 5.0 ”
omni_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
omni_sendunfreeze
解冻集中管理令牌的地址。
注意:只有发行人可以解冻令牌
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 要发送的地址(必须是已启用冻结的托管财产的发行人 |
toaddress |
串 | 需要 | 地址解冻 |
propertyid |
数 | 需要 | 要解冻的标记的标识符 |
amount |
串 | 需要 | 解冻量(注意:目前未使用 |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_sendunfreeze ” “ 3M9qvHKtgARhqcMtM5cRT9VaiDJ5PSfQGY ” “ 3HTHRxu3aSDV4deakjC7VmsiUp7c6dfbvs ” 2 1000
omni_sendrawtx
广播原始的Omni Layer交易。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
fromaddress |
串 | 需要 | 要发送的地址 |
rawtransaction |
串 | 需要 | 十六进制编码的原始事务 |
referenceaddress |
串 | 可选的 | 一个参考地址(默认没有) |
redeemaddress |
串 | 可选的 | 一个可以花费交易粉尘的地址(默认发件人) |
referenceamount |
串 | 可选的 | 发送给接收方的比特币金额(默认情况下最小) |
结果:
“ hash ” //(字符串)十六进制编码的事务散列
例:
$ omnicore-cli “ omni_sendrawtx ” \
“ 1MCHESTptvd2LnNp7wmr2sGTpRomteAkq8 ” “ 000000000000000100000000017d7840 ” \
“ 1EqTta1Rt8ixAA32DuC29oukbsSWU62qAV ”
数据检索
用于数据检索的RPC可用于获取有关Omni生态系统状态的信息。
omni_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 “ omni_getcrowdsale ” 3 true
omni_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 “ omni_getgrants ” 31
omni_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 “ omni_gettradehistoryforpair ” 1 12 500
omni_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 “ omni_gettradehistoryforaddress ” “ 1MCHESTptvd2LnNp7wmr2sGTpRomteAkq8 ”
omni_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 “ omni_getcurrentconsensushash ”
原始交易
原始交易/有效载荷的RPC可用于解码或创建原始Omni交易。
omni_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 ”, //(字符串)交易类型为字符串
[ ... ] //(混合)其他交易类型特定属性
}
例:
$ omnicore-CLI “ omni_decodetransaction ” “ 010000000163af14ce6d477e1c793507e32a5b7696288fa89705c0d02a3f66beb3c \
5b8afee0100000000ffffffff02ac020000000000004751210261ea979f6a06f9dafe00fb1263ea0aca959875a7073556a088cdf \
adcd494b3752102a3fd0a8a067e06941e066f78d930bfc47746f097fcd3f7ab27db8ddf37168b6b52ae22020000000000001976a \
914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac00000000 ” \
“ [{ \” TxID添加\ “:\” eeafb8c5b3be663f2ad0c00597a88f2896765b2ae30735791c7e476dce14af63 \ “ \” VOUT \”:1,\
“ scriptPubKey \”:\“ 76a9149084c0bd89289bc025d0264f7f23148fb683d56c88ac \”,\“ value \”:0.0001123}] “
omni_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 ” //(字符串)十六进制编码修改的原始事务
例:
$ omnicore-CLI “ omni_createrawtx_change ” \
“ 0100000001b15ee60431ef57ec682790dec5a3c0d83a0c360633ea8308fbf6d5fc10a779670400000000ffffffff025c0d00000 \
000000047512102f3e471222bb57a7d416c82bf81c627bfcd2bdc47f36e763ae69935bba4601ece21021580b888ff56feb27f17f \
08802ebed26258c23697d6a462d43fc13b565fda2dd52aeaa0a0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2 \
339d24288ac00000000 ” \
“ [{ \” TxID添加\ “:\” 6779a710fcd5f6fb0883ea3306360c3ad8c0a3c5de902768ec57ef3104e65eb1 \ “ \”vout “:4,\\
“ scriptPubKey \”:\“ 76a9147b25205fd98d462880a3e5b0541235831ae959e588ac \”,\“ value \”:0.00068257}} “ \
” 1CE8bBr1dYZRMnpmyYsFEoexa1YoPz2mfB “ 0.000035 1
omni_createpayload_simplesend
为简单的发送事务创建有效负载。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
propertyid |
数 | 需要 | 要发送的令牌的标识符 |
amount |
串 | 需要 | 要发送的金额 |
结果:
“ payload ” //(字符串)十六进制编码的有效载荷
例:
$ omnicore-cli “ omni_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 “ omni_createpayload_trade ” 31 “ 250.0 ” 1 “ 10.0 ”
omni_createpayload_canceltradesbyprice
创建有效负载以取消具有指定价格的分布式令牌交换机上的报价。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
propertyidforsale |
数 | 需要 | 标记的标识符以列出待售 |
amountforsale |
串 | 需要 | 要出售的代币数量 |
propertyiddesired |
数 | 需要 | 交换所需令牌的标识符 |
amountdesired |
串 | 需要 | 交换所需的令牌数量 |
结果:
“ payload ” //(字符串)十六进制编码的有效载荷
例:
$ omnicore-cli “ omni_createpayload_canceltradesbyprice ” 31 “ 100.0 ” 1 “ 5.0 ”
omni_createpayload_canceltradesbypair
创建有效负载以取消使用给定货币对的分布式令牌交换所有报价。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
propertyidforsale |
数 | 需要 | 标记的标识符以列出待售 |
propertyiddesired |
数 | 需要 | 交换所需令牌的标识符 |
结果:
“ payload ” //(字符串)十六进制编码的有效载荷
例:
$ omnicore-cli “ omni_createpayload_canceltradesbypair ” 1 31
omni_createpayload_cancelalltrades
创建有效负载以取消使用给定货币对的分布式令牌交换所有报价。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
ecosystem |
数 | 需要 | 提供的生态系统取消(主要生态系统1个,测试生态系统2个) |
结果:
“ payload ” //(字符串)十六进制编码的有效载荷
例:
$ omnicore-cli “ omni_createpayload_cancelalltrades ” 1
费用制度
收费系统的RPC可用于获取有关费用制度和费用分配的数据。
omni_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 “ omni_getfeeshare ” “ 1CE8bBr1dYZRMnpmyYsFEoexa1YoPz2mfB ” 1
omni_getfeedistribution
获取过去的费用分配数据。
必须提供分配ID以识别分配以获取数据。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
distributionid |
数 | 需要 | 要获取数据的分布的标识符 |
结果:
{
“ distributionid ” : n, //(数字)分配ID
“ propertyid ” : n, //(数字)分配的令牌的属性ID
“ block ” : n, //(数字)发生分配的块
“金额“ : ” n.nnnnnnnn “, //(字符串)分配金额
” recipients “: [ // (JSON对象数组)收件人列表
{
“地址” : “地址”, //(字符串)收件人地址
“金额” : “ n.nnnnnnnn ” //(字符串)收件人收到的费用金额
},
...
]
}
例:
$ omnicore-cli “ omni_getfeedistribution ” 1
omni_getfeedistributions
获取过去物业费用分布的数据。
必须提供属性ID才能检索过去的分配。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
propertyid |
数 | 需要 | 要检索过去分布的属性的标识符 |
结果:
[ //(JSON对象数组)
{
“ distributionid ” : N, //(数)分布ID
“物业ID ” : N, //(号码)的分布式令牌属性id
“块” : N, //(号码)发生的分布的块
“量“ : ” n.nnnnnnnn “, //(字符串)分配的金额
” recipients “: [ // (JSON对象数组)收件人列表
{
“地址” : “地址”, //(字符串)收件人地址
“金额” : “ n.nnnnnnnn ” //(字符串)收件人收到的费用金额
},
...
]
},
...
]
例:
$ omnicore-cli “ omni_getfeedistributions ” 31
组态
用于配置的RPC可用于更改Omni Core设置。
omni_setautocommit
设置确定事务是否自动提交和广播的全局标志。
参数:
名称 | 类型 | 存在 | 描述 |
---|---|---|---|
flag |
布尔 | 需要 | 国旗 |
结果:
true | 假 //(布尔)更新的标志状态
例:
$ omnicore-cli “ omni_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_getsto
或omni_gettransaction