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 ”