Skip to content

Instantly share code, notes, and snippets.


Block or report user

Report or block dexX7

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
dexX7 /
Created Feb 18, 2019
Omni Core consistency check

Before updating to Omni Core v0.4.0, you can manually perform a database consistency check.

If any of the following commands fails to return transaction data or retuns a generic error output, there is a database inconsistency:

omnicore-cli omni_gettransaction b7c66175a99ca0e7b1691905d50a46165adb7a8012d9ec5e1ecf8239f859df6d
omnicore-cli omni_gettransaction a59ac18eda590dfe9f3671f99f3cec5679e95ea4d1478d5313e2b4706307537b
omnicore-cli omni_gettransaction ce56ee84abd20bd1386d66e5ab9e3661a9bfad45a7d46490cae2241bbebf91df
omnicore-cli omni_gettransaction bbdb911227c033697e92d6828d43b15f99bbc24c97147be0aed12dd98f362c28
omnicore-cli omni_gettransaction 69604c02f219136245d309b722816d6f4f77ccead60ded6976219f9a0becceff

Uniquely Identifiable Tokens -- v0.2 DRAFT

UIT introduces the new property type 5 to represent non-fungible tokens. With UIT each token within a collection is considered a unique entity and can be addressed explicitly.

For example, a digital token could be created to represent cats. While the current protocol allows to create tokens to represent some form of cats in general, where every cat is a cat, each cat is also an individuum and distinct from another, so non-distinguishable tokens may not be sufficient. UIT allows to represent and interact with each cat on it's own.


Creating UIT


Fungible token with fixed supply


  • name
  • symbol
  • info



Multi-command transactions

A new transaction structure allows to include multiple commands into one transaction. This is done by including a list of commands in the transaction payload. Each command is executed one by one and may be invalid without invalidating the other commands.

The payload structure may look like this:

[transaction marker] [number of commands] [command 1] ( [command 2] [...] )
dexX7 /
Last active Jan 24, 2018
Optimizing Omni Layer transactions calculations
Base transaction:
Container: 10 byte
Input: 148 byte
Change output: 34 byte
Reference output: 34 byte
Payload: 31 byte (8 value, 2 push, 1 OP_RETURN, 4 marker, 16 payload)
dexX7 /
Last active May 29, 2019
Create raw Simple Send Omni transactions with Omni Core

The following example demonstrates the creation of a raw Omni transaction, which transfers 0.1 Test Omni with token identifier 2 from 1K6JtSvrHtyFmxdtGZyZEF7ydytTGqasNc to 1Njbpr7EkLA1R8ag8bjRN7oks7nv5wUn3o, with a transaction fee of 0.0006 BTC. For the sake of a demonstration, more than one unspent output was consumed.

1) List unspent outputs

List unspent outputs for 1K6JtSvrHtyFmxdtGZyZEF7ydytTGqasNc.

omnicore-cli "listunspent" 0 999999 '["1K6JtSvrHtyFmxdtGZyZEF7ydytTGqasNc"]'
dexX7 /
Last active Oct 26, 2016
All-Pair Activations II



Feature Id: 8 (fast signing)




Feature Id: 8 (fast signing)

View wrap_update_tally.cpp
bool mastercore::BalanceCreate(const std::string& destination, uint32_t propertyId, int64_t amount)
return update_tally_map(destination, propertyId, amount, BALANCE);
bool mastercore::BalanceDestroy(const std::string& destination, uint32_t propertyId, int64_t amount)
return update_tally_map(destination, propertyId, -amount, BALANCE);
dexX7 /
Last active Jan 14, 2016
Create raw Alert with Omni Core




You can’t perform that action at this time.