Omni Core是比特币核心的一个分支,它在比特币协议之上实现了一个 新的Omni协议层。因此Omni Core的API交互的方式和比特币核心的 方式一样,只是添加了一些额外的Omni协议特性相关的RPC调用。本文提供omni api的速查表。
如果要快速掌握比特币的对接与应用开发,推荐汇智网的在线互动课程:
在Omni Core中保留了所有比特币核心的功能,默认的PRC端口依然是8332。 如果你希望同时运行Omni Core和比特币核心(例如使用不同的数据目录), 那么需要使用
-rpcport <port>
选项来指定一个不同的监听端口。
所有命令都可以使用help显示出来,特定命令的帮助信息可以使用
help <command>
查看。
Omni Core扩展的JSON-RPC API分为不同的组:
- 交易创建:创建、广播omni交易相关api
- 数据查询:查询omni生态信息相关api
- 裸交易管理:omni裸交易的创建或解码相关api
- 手续费管理:获取omni手续费信息相关api
- 配置管理:设置omni内核参数相关api
1、Omni api - 交易创建
交易创建API用来创建并广播Omni协议的交易,并返回广播交易的哈希。
- omni_send :创建并广播发送一个简单交易。
- omni_senddexsell :在传统的分布式OMNI/BTC交易所挂售出单或更新卖单。
- omni_senddexaccept :创建并广播一个成交单。
- omni_sendissuancecrowdsale :创建一个新的众售代币
- omni_sendissuancefixed :创建一个固定供应量的代币
- omni_sendissuancemanaged :创建一个具有可调节供应量的新代币
- omni_sendsto :创建并广播一个发送给属主的交易
- omni_sendgrant :发行或授权代币
- omni_sendrevoke :回收受管代币
- omni_sendclosecrowdsale :手动关闭一个众售
- omni_sendtrade :在分布式代币交易所挂交易单
- omni_sendcanceltradesbyprice :取消在分布式代币交易所上 的固定价格卖单
- omni_sendcanceltradesbypair :取消分布式代币交易所上的 指定交易对的所有挂单
- omni_sendcancelalltrades :取消分布式代币交易所上的所有挂单
- omni_sendchangeissuer :修改指定代币的发行人
- omni_sendall :将指定生态系统中的所有可用代币发送给接收方
- omni_sendenablefreezing :为一个集中管理的资产启用地址冻结
- omni_senddisablefreezing :禁用一个集中管理的资产的 地址冻结
- omni_sendfreeze :冻结指定集中化管理代币的特定地址
- omni_sendunfreeze :解冻一个集中管理的代币的指定地址
- omni_sendrawtx :广播一个Omni层的裸交易
- omni_funded_send :创建并发送一个简单充值交易
- omni_funded_sendall :创建并广播一个交易,将所有可用 代表转入指定生态系统中的接收地址
2、omni api - 数据查询
数据查询API用来获取Omni生态系统的状态信息。
- omni_getinfo :返回节点和协议的各种状态信息
- omni_getbalance :返回指定地址和资产的代币余额
- omni_getallbalancesforid :返回指定现金或资产的代币余额
- omni_getallbalancesforaddress :返回指定地址的所有代币余额
- omni_getwalletbalances :返回整个钱包的所有代币的余额信息
- omni_getwalletaddressbalances :返回每个钱包地址的所有代币余额信息
- omni_gettransaction :获取指定Omni交易的详细信息
- omni_listtransactions :返回钱包交易清单,可以使用地址或区块进行过滤
- omni_listblocktransactions :列出指定区块内的所有omni交易
- omni_listpendingtransactions :返回内存池中等待确认的omni交易清单
- omni_getactivedexsells :返回当前在分布式交易所中的活跃出价
- omni_listproperties :列出所有代币或智能资产的清单
- omni_getproperty :返回指定的代币或智能资产的详情
- omni_getactivecrowdsales :列出当前活动的众售(crowdsale)
- omni_getcrowdsale :返回指定众售活动的信息
- omni_getgrants :返回授予及回收的可管理代币信息
- omni_getsto :返回指定的发送给属主交易的详情和接收方信息
- omni_gettrade :获取分布式代币交易所中指定订单对应的交易详情
- omni_getorderbook :返回分布式代币交易所中的活跃委托清单
- omni_gettradehistoryforpair :获取分布式代币交易所上指定市场的 交易历史
- omni_gettradehistoryforaddress :返回在分布式交易所中指定地址的 委托单历史信息
- omni_getactivations :返回待定及完成的特性激活
- omni_getpayload :获取一个Omni交易的载荷内容
- omni_getseedblocks :返回包含Omni交易的区块清单,以便用于种子区块过滤
- omni_getcurrentconsensushash :返回当前区块的共识哈希
3、omni api - 裸交易管理
裸交易API用来解码或创建Omni裸交易。
需要使用
signrawtransaction
签名裸交易,然后使用
sendrawtransaction
广播裸交易。
- omni_decodetransaction :解码指定的Omni交易
- omni_createrawtx_opreturn :将一个op-return操作载荷添加到交易中
- omni_createrawtx_multisig :将bare-multisig操作载荷添加到交易中
- omni_createrawtx_input :为交易添加一个输入
- omni_createrawtx_reference :将一个参考输出添加到交易中
- omni_createrawtx_change :为交易添加一个找零输出
- omni_createpayload_simplesend :创建一个用于简单发送交易的载荷
- omni_createpayload_sendall :创建一个用于发送完全交易的载荷
- omni_createpayload_dexsell :创建一个用于在传统的 分布式OMNI/BTC交易所提交、更新或取消委托单的载荷
- omni_createpayload_dexaccept :创建一个用于接受委托单的载荷
- omni_createpayload_sto :创建一个用于发送给属主交易的载荷
- omni_createpayload_issuancefixed :创建一个用于发行 新的固定供应量代币的载荷
- omni_createpayload_issuancecrowdsale :创建一个用于众售发行的新代币
- omni_createpayload_issuancemanaged :创建一个用于 定量可管理代币发行的载荷
- omni_createpayload_closecrowdsale :创建一个用于手动 关闭众售的载荷
- omni_createpayload_grant :创建一个用于发行或授予可管理代币的载荷
- omni_createpayload_revoke :创建一个用于回收可管理代币的载荷
- omni_createpayload_changeissuer :创建一个用于修改代币发行方的载荷
- omni_createpayload_trade :创建一个用于在分布式代币交易所 发布委托单的载荷
- omni_createpayload_canceltradesbyprice :创建一个用于在分布式代币 交易所取消指定价格委托单的载荷
- omni_createpayload_canceltradesbypair :创建一个用于在 分布式代币交易所取消指定交易对的委托单载荷
- omni_createpayload_cancelalltrades :创建一个用于在 分布式代币交易所取消所有指定交易对的委托单载荷
- omni_createpayload_enablefreezing :创建一个用于 在中心化管理的资产上启用地址冻结的载荷
- omni_createpayload_disablefreezing :创建一个用于集中管理式资产的 禁用地址冻结的载荷
- omni_createpayload_freeze :创建一个用于冻结集中管理式资产地址 的载荷
- omni_createpayload_unfreeze :创建一个用于解冻集中管理式资产地址 的载荷
4、omni api - 手续费管理
手续费相关API用来获取手续费系统以及手续费分发的相关数据。
- omni_getfeecache :获取当前缓存的手续费总额
- omni_getfeetrigger :返回缓存手续费分发的触发数量
- omni_getfeeshare :返回分发触发时的手续费地址占比
- omni_getfeedistribution :返回指定的历史分发的数据
- omni_getfeedistributions :返回指定资产的历史分发数据
5、omni api - 配置管理
配置管理API用来修改Omni内核设定。
- omni_setautocommit :设置是否自动提交及广播交易的标志