XBR smart contracts and ABIs
The XBR Protocol enables secure peer-to-peer data-trading and -service microtransactions in Open Data Markets between multiple independent entities.
XBR as a protocol sits on top of WAMP, an open messaging middleware and service mesh technology, and enables secure integration, trusted sharing and monetization of data and data-driven microservices between different parties and users.
The XBR Protocol specification is openly developed and freely usable.
The protocol is implemented in smart contracts written in Solidity and open-source licensed (Apache 2.0). Smart contracts are designed to run on the Ethereum blockchain. All source code for the XBR smart contracts is developed and hosted in the project main GitHub repository.
The XBR Protocol and reference documentation can be found here.
Contract addresses for local development on Ganache, using the
export XBR_HDWALLET_SEED="myth like bonus scare over problem client lizard pioneer submit female collect"
which result in the following contract addresses (when the deployment is the very first transactions on Ganache):
export XBR_DEBUG_TOKEN_ADDR=0xCfEB869F69431e42cdB54A4F4f105C19C080A601 export XBR_DEBUG_NETWORK_ADDR=0xC89Ce4735882C9F0f0FE26686c53074E09B0D550 export XBR_DEBUG_MARKET_ADDR=0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7 export XBR_DEBUG_CATALOG_ADDR=0xD833215cBcc3f914bD1C9ece3EE7BF8B14f841bb export XBR_DEBUG_CHANNEL_ADDR=0xe982E462b094850F12AF94d21D470e21bE9D0E9C
The XBR smart contracts primary build artifacts are the contract ABIs JSON files. The ABI files are built during compiling the contract sources. Technically, the ABI files are all you need to interact and talk to the XBR smart contracts deployed to a blockchain from any (client side) language or run-time that supports Ethereum, such as web3.js or web3.py.
However, this approach (using the raw XBR ABI files directly from a “generic” Ethereum client library) can be cumbersome and error prone to maintain. An alternative way is using a client library with built-in XBR support.
The XBR project currently maintains the following XBR-enabled client libraries:
- XBR (contract ABIs package) for Python
- Autobahn|Python for Python (uses the XBR package)
- Autobahn|Java (beta XBR support) for Java on Android and Java 8 / Netty
- Autobahn|C++ (XBR support planned) for C++ 11+ and Boost/ASIO
XBR support can be added to any WAMP client library with a language run-time that has packages for Ethereum application development.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.