Skip to content

Omni Core v0.7.1

Compare
Choose a tag to compare
@dexX7 dexX7 released this 21 Jan 08:24
· 223 commits to master since this release
v0.7.1
5fe9840

Omni Core 0.7.1 paves the way for trading any asset on the Omni Layer for Bitcoin in a decentralized fashion. It adds new commands to accept and execute orders on the distributed exchange.

Please note, if you have not yet upgraded from 0.6 or earlier versions: Omni Core 0.7 changed the code base of Omni Core from Bitcoin Core 0.13.2 to Bitcoin Core 0.18.1. Once consensus affecting features are enabled, this version is no longer compatible with previous versions and an upgrade is required. Due to the upgrade from Bitcoin Core 0.13.2 to 0.18.1, this version incorporates many changes, so please take your time to read through all previous release notes carefully. The first time you upgrade from Omni Core 0.6 or older versions, the database is reconstructed, which can easily consume several hours. An upgrade from 0.7 to 0.7.1 is seamless.

Please report bugs using the issue tracker on GitHub:

https://github.com/OmniLayer/omnicore/issues

Table of contents

Upgrading and downgrading

How to upgrade

If you are running Bitcoin Core or an older version of Omni Core, shut it down. Wait until it has completely shut down, then copy the new version of omnicored, omnicore-cli and omnicore-qt. On Microsoft Windows the setup routine can be used to automate these steps.

When upgrading from an older version, the database is reconstructed, which can easily consume several hours.

During the first startup historical Omni transactions are reprocessed and Omni Core will not be usable for approximately 15 minutes up to two hours. The progress of the initial scan is reported on the console, the GUI and written to the debug.log. The scan may be interrupted, but can not be resumed, and then needs to start from the beginning.

Downgrading

Downgrading to an Omni Core version prior to 0.7.0 is not supported.

Compatibility with Bitcoin Core

Omni Core is based on Bitcoin Core 0.18.1 and can be used as replacement for Bitcoin Core. Switching between Omni Core and Bitcoin Core may be supported.

However, it is not advised to upgrade or downgrade to versions other than Bitcoin Core 0.18. When switching to Omni Core, it may be necessary to reprocess Omni Layer transactions.

Imported changes and notes

Allow any token to be traded for Bitcoin

Right now the native distributed exchange of the Omni Layer protocol supports trading Omni and Test Omni for Bitcoin.

With this version, any token can be traded and there are no longer any trading restrictions. Please see the documentation for the related RPCs:

As well as the specification of the Omni Layer protocol:

Please note: this consensus change is not yet activated, but included in this release. An announcement will be made, when this feature is activated.

Updates to omni_senddexaccept to accept orders

The RPC omni_senddexaccept was updated to properly pay transaction fees, when accepting an offer on the distributed exchange.

omni_senddexaccept

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

Arguments:

Name Type Presence Description
fromaddress string required the address to send from
toaddress string required the address of the seller
propertyid number required the identifier of the token to purchase
amount string required the amount to accept
override boolean required override minimum accept fee and payment window checks (use with caution!)

Result:

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

Example:

$ omnicore-cli "omni_senddexaccept" \
    "35URq1NN3xL6GeRKUP6vzaQVcxoJiiJKd8" "37FaKponF7zqoMLUjEiko25pDiuVH5YLEa" 1 "15.0"

New command omni_senddexpay to execute orders

To pay for an offer after it was successfully accepted, a new command omni_senddexpay was added.

omni_senddexpay

Create and broadcast payment for an accept offer.

Arguments:

Name Type Presence Description
fromaddress string required the address to send from
toaddress string required the address of the seller
propertyid number required the identifier of the token to purchase
amount string required the Bitcoin amount to send

Result:

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

Example:

$ omnicore-cli "omni_senddexpay" \
    "35URq1NN3xL6GeRKUP6vzaQVcxoJiiJKd8" "37FaKponF7zqoMLUjEiko25pDiuVH5YLEa" 1 "15.0"

rpcallowip option changes

The rpcallowip option can no longer be used to automatically listen on all network interfaces. Instead, the rpcbind parameter must be used to specify the IP addresses to listen on. Listening for RPC commands over a public network connection is insecure and should be disabled, so a warning is now printed if a user selects such a configuration. If you need to expose RPC in order to use a tool like Docker, ensure you only bind RPC to your localhost, e.g. docker run [...] -p 127.0.0.1:8332:8332 (this is an extra :8332 over the normal Docker port specification).

Updates to the Omni Core logo

To show the synergy between the Omni Layer protocol and Bitcoin, the Omni Core logos were slightly changed to also include the Bitcoin logo:

Several stability and performance improvements

In some rare cases locking issues may have caused the client to halt. This version comes with several stability and performance improvements to resolve these issues.

Change log

The following list includes relevant pull requests merged into this release:

- #1048 omni_senddexaccept pass min fee to CreateTransaction
- #1052 Add RPC DEx call to pay for accepted offer
- #1054 Debug and concurrency updates
- #1060 Only use wtxNew if fSuccess true
- #1064 New icons and default splash
- #1066 Prepare release of Omni Core v0.7.1
- #1068 Update release notes for v0.7.1

Credits

Thanks to everyone who contributed to this release, especially to Peter Bushnell and all Bitcoin Core developers.