-
Notifications
You must be signed in to change notification settings - Fork 0
Release Notes
WHAT IS **"Open Transactions"** ?
It's a solid, easy-to-use, FINANCIAL CRYPTO and [[DIGITAL CASH|Sample Cash]] [[LIBRARY|List of Classes]].
Including an operational API, SERVER and [[CLIENT|Test Wallet commands]].
Featuring:
Untraceable Digital Cash (real blinded tokens).
Pseudonymous User Accounts ("account" == PGP key).
Many [[Financial Instruments|Instruments]] ([[cheques|Sample Cheque]], [[cash|Sample Cash]], vouchers, invoices, transfers, etc).
Anyone An Issuer ([[Ricardian-style Contracts|Sample Currency Contract]])
Triple-Signed Receipts
Basket Currencies
NEW! Markets with Trades
NEW! Payment Plans
NEW! Native API now available in Java, Ruby, Python, PHP, Perl, C, C++, Objective-C, C#, Tcl, and LISP.
NEW! Open Transactions as a Web Service (XmlRpc / HTTP transport now available.)
Soon: Stocks that pay dividends, Bonds that pay interest, and Collateralized Debt Obligations.
Soon: 2-D Barcodes to make possible "Any screen a cash register" and "Any camera phone a customer."
Soon: Multi-signer Escrow
Please see the Wiki, FAQ, and Business Cases.
NOTES on the Version:
0.31 --- Native API, with easy Makefiles, added for: Java, Lisp, Ruby, Python, Perl, PHP, C, C++, Objective-C, C#, and Tcl. Also supporting JRuby, Jython, and any other languages on the JVM.
Transport is now implemented as a CALLBACK FUNCTION, which
means it is now VERY EASY to swap out to different forms of
transport (though XmlRpc is probably the last form we'll ever
need.)
The build process has been greatly simplified, and many Makefiles
were made redundant and removed.
0.30 --- MAJOR RELEASE! Markets, Payment Plans, and OT as a Web Service!
*** Open Transactions is now officially a WEB SERVICE! The server,
client, and API now support *XML-RPC/HTTP*, in addition to the
TCP/SSL mode from before.
*** Open Transactions now supports real MARKETS with 2-way trades!
These markets are full-featured, and allow for LIMIT orders,
STOP orders, DAY orders, FILL-OR-KILL orders, STOP LIMITS, etc.
Markets also have SCALE, which means bulk pricing and arbitrage.
*** Open Transactions now supports PAYMENT PLANS. As long as both
parties have signed the contract, the server will continue
processing it according to its terms, placing receipts in the
inboxes of the two parties until the payments are done.
*** All data files were removed to a data folder, and all file
paths were removed from data files (filenames are generated
now, when needed.) This all means datafiles are much easier now.
// ---------------------------------------------------------------------
0.25 --- All FILE pointers were removed and replaced with C++ fstreams.
An all new logging class, with errors, asserts, and multi-
verbosity output. See the OTLog.h and .cpp files for more.
(Centralizing the output and logging also helps porting efforts.)
All the test certs were regenerated, and the contracts were
re-signed, etc. This time they will last for 10 years, instead
of 30 days. Slight fix to the Open-Transactions/ssl Makefile.
0.24 --- FreeBSD working!
0.23 --- Android version! (In support of our upcoming Android client.)
Now it's easier than ever to use Open Transactions in your
Java and C++ applications, for Mac, Linux, and Windows!
0.22 --- EASY Makefiles and project files are now available for the JNI Java interface, as well as the high-level C++ API.
Makefiles are supplied for MAC and LINUX, as well as project
files for XCode on Mac and MS Visual C++ 2010 Express on Windows.
"FiatCash" (the first client, on Android) is humming along
and hopefully we'll have some basic version soon up on Github.
Negative transactions are no longer allowed for vouchers,
account transfers, or cash withdrawals. They are still, however,
allowed for cheques, which serve as invoices.
Various global variable issues were cleaned up...
// ---------------------------------------------------------------------
0.21 --- Windows release!
Open Transactions now supports Windows, LINUX, and Mac OS X.
(In the same code base.)
This distribution comes with gcc Makefiles for Mac and Linux,
as well as XCode project files for Mac and Microsoft VC++ project
files for Windows.
The Windows port was at the request of an Android developer who
has begun work on a wallet (client app) that he calls "FiatCash".
He will be building it on Windows, in Java, using the Open
Transactions JNI interface to talk to the library. When complete,
the wallet software will run on Android phones.
INVOICES: Imagine that you hand someone an invoice. He runs it
through his bank account and the money is automatically transferred
to you, with receipts on both sides. This is the same thing as
a cheque with a negative amount. Thus, "negative cheques" can be
used as invoices. (Already operational.)
Assorted:
Many of the C Standard Library includes were replaced with their
C++ standard library versions.
Other cleanups were made including some fixes to OTString (which
used to have some large stack-allocations) as well as a bug fix
in the socket code for the server / test client.
The client cert expired, so I re-created all the certs. If you have
any problem with your own, just install the new version to fix it.
// ---------------------------------------------------------------------
0.2 --- Major Release! ALL NEW:
JNI Interface (High-level Java API)
High-level C++ Interface
Spent Token Database is fully operational!
Mints and Tokens now support Expiration AND Series.
New Financial Instruments: Cheques and Vouchers.
Reserve accounts are now working to store the backing funds
for cash withdrawals and vouchers (cashier's cheques.)
Transaction numbers are fully working now.
Nym files are now signed (to prevent tampering.)
Hardcoding of paths was fixed, using config files and
command-line arguments now, so you can use the software
without having to change the code.
Path separators were improved to support Windows-style paths
(though I haven't tried to actually build on Windows.)
Numerous bug fixes. Including a big one: discarding
token signature after unblinding.
// ---------------------------------------------------------------------
0.11 --- Added LINUX support...
Added Makefiles, and a few fixes related to Linux.
OT now runs on TWO platforms: LINUX and Mac OS X.
// ---------------------------------------------------------------------
0.1 --- The original goal was just proof-of-concept. There are many TODOs listed on the project page, as well as throughout the code. But it all works!!!
A WARNING: This software is brand-spanking-new. The project has not yet been audited for security or tested for any extended period of time. Thus far, it must be considered as for experimental purposes only.
--- There are still a few values that are hardcoded (in the client
and the server), unfortunately, but it's all documented and I
have everything set up already to run, so you don't have to
mess with them. This will be fixed next release.
The server expects its OWN cert to be in the transaction/certs folder. The filename should be the server_user_ID from notaryServer.xml (I HAVE ALREADY PLACED IT THERE.)
This is the file that includes the server's public AND private key.