A final overview of my contributions to the contest as requested.
With thanks to:
* Bouncy Castle for their crypto library (SHA & bignum)
* James Newton-King for the JSON.NET library (serialize/deserialize JSON)
* Tachikoma for the multisig specificationCODE CONTRIBUTIONS:
Masterchest Library - a .NET DLL that gives potential new mastercoin developers the ability to use functions with a single line of code
Download:
source/binaries * Class structures to hold the various RPC responses
* Decode mastercoin transactions (generate (exodus purchase), simple send and multisig)
* Encode mastercoin transactions (multisig only, simple send not offered to minimize blockchain bloat) creating the raw transaction hex from scratch
* Get a list of addresses in wallet from bitcoind/qt (using both listbyreceivedaddress and listunspent to get all addresses including change)
* Retrieve a blockhash from bitcoind/qt
* Retrieve a block from bitcoind/qt
* Retrieve the block currently being mined from bitcoind/qt
* Retrieve transactions from bitcoind/qt
* Evaluate a bitcoin transaction and return whether it contains a mastercoin transaction
Masterchest Engine - a blockchain scanning & mastercoin transaction processing engine
Download:
source/binariesScreenshot:
* Scans the bitcoin blockchain and retrieves the transactions in each block
* Checks each bitcoin transaction to see if it contains a mastercoin transaction
* Parses any mastercoin transactions found and decodes them
* Writes decoded transactions to a database
* Processing engine runs through transactions in database checking validity and updating balances etc
Masterchest.info - a block explorer for displaying mastercoin transactions and address balances/history
Download:
source/binariesScreenshot:
* Independent verification of transactions for the community
* Lookup address balances and their transaction history
* Lookup transactions and their validity
* Display recent mastercoin transactions
* Unconfirmed transaction support and fast scanning (60-120 secs for a mastercoin transaction to appear)
Masterchest Wallet - a desktop wallet for mastercoin
Download:
source/binariesScreenshot:
* Clean fresh UI design (attempt to distinguish ourselves from the myriad of bitcoin clones all using the same QT wallet design)
* Interfaces with bitcoind/qt via RPC
* Blockchain scanning & mastercoin transaction detection
* Decoding detected transactions and processing wallet and address balances
* Multiple address support (automatically picks up all addresses from bitcoind/qt and allows them to be used as source or destination for sends)
* Multiple currency support (mastercoin, test mastercoin, bitcoin)
* Send transactions for all supported currencies (multisig for mastercoin, sendtoaddress for bitcoin (though this will move to createraw in future releases))
* Transaction history
* Unconfirmed transaction support (both mastercoin and bitcoin)
OTHER CONTRIBUTIONS:
* Developed an independant implementation of Tachikoma's multisig and successfully verified compatibility against Tachikoma's implementation
* Work with Tachikoma & JR to define current set of transaction processing rules
* Helped define perception of total coin supply and define final totals verifying that three seperate implementations (masterchest.info, mastercoin-explorer.com, grazcoins mastercoin-tools) agreed on the final figure of 619478.59338440 MSC
* Testing of grazcoins CSV output of all exodus generate transactions against masterchest
* Various rounds of test transactions
* Testing of Tachikoma's various contributions
* Contributed to various technical discussions
* Testing rounds on VMs locating & resolving Masterchest wallet bugs
All contributions are open source for anyone to use as they like
Congratulations and well done to all the other contestants!
Thanks