The Open-Transactions project is a collaborative effort to develop a robust, commercial-grade, fully-featured, free-software toolkit implementing the OTX protocol as well as a full-strength financial cryptography library, API, CLI, and prototype server. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the Open-Transactions toolkit and its related documentation.
Open-Transactions democratizes financial and monetary actions. You can use it for issuing currencies/stock, paying dividends, creating asset accounts, sending/receiving digital cash, writing/depositing cheques, cashier's cheques, creating basket currencies, trading on markets, scripting custom agreements, recurring payments, escrow, etc.
Open-Transactions uses strong crypto. The balances are unchangeable (even by a malicious server.) The receipts are destructible and redundant. The transactions are unforgeable. The cash is untraceable. The cheques are non-repudiable. Etc.
This product includes software developed by Ben Laurie for use in the Lucre project.
All development goes in develop branch - please don't submit pull requests to master.
Please do NOT use an editor that automatically reformats.
As part of our Continuous Integration system we run cppcheck and clang-format. The build will fail if either of them finds problems.
The OT directory in ~/.ot
is deleted on every make test
in the build
directory.
BE ADVISED: Run make test
in development only.
For convenience please enable the git hooks which will trigger cppcheck and clang-format each time you push or commit. To do so type in the repo directory:
cd .git/hooks
ln -s ../../scripts/git_hooks/pre-push
ln -s ../../scripts/git_hooks/pre-commit
To check your code without pushing the following command can be used:
git push -n
-
SQLite driver for new storage engine
- Default: enabled
- Adds dependency: SQLite 3
- CMake symbol: OT_STORAGE_SQLITE
-
Filesystem driver for new storage engine
- Default: disabled
- Adds dependency: Boost::Filesystem
- CMake symbol: OT_STORAGE_FS
-
OpenDHT network driver
- Default: enabled
- Adds dependency: OpenDHT
- CMake symbol: OT_DHT
OpenTransactions uses the CMake build system. The basic steps are
mkdir build
cd build
cmake ..
make
make install
More detailed instructions are listed below
You can get started with opentxs cli and build setup quickly. It is possible to build this in a docker container, once you have docker installed on your system, just run the following commands;
cd in your git dir
cd opentxs
docker build --rm=true .
docker run -i -t <image ID> /bin/bash
Don't forget to "Detach" correctly or you will lose the state of the container. e.g Ctrl + P, I
More detailed instructions are listed below