What is the MultiCoin client: Last update to this article 8/6/11 5:36pm bkk time
The MultiCoin client is a slightly modified and very experimental Bitcoin client that allows transactions with an unlimited number of crypto currencies block chains and also the creation of new crypto chains. Each different crypto currency can have a different set of rules and a different root block that is controlled by settings in the MultiCoin config file. Multicoin has also be opening up new methods of linked chains and advanced methods of transaction including escrow and multi sign transactions. The code is open source and can be found at:
https://github.com/sacarlson/MultiCoin for the extended feature daemon version and
https://github.com/sacarlson/MultiCoin-qt for the qt lib based gui version . The MultiCoin client will also be able to transact the new BeerTokens chain when the beertokens config file is released in the near future. For more details about BeerTokens see
http://forum.bitcoin.org/index.php?topic=9493.msg136917#msg136917. The github released MultiCoin now also provides P2P escrow features that have been tested as working on testnet and weedsnet. We are not sure if the escrow features in this version will ever work on Bitcoin Mainnet.
The future plans for Multicoin is to incorporate some of the other useful features we now see in other branches of bitcoin and some not yet developed to add security for micro nets (very small group cyrpto currency chains) and some of the other pull requests seen below:
already doneFrom day 1 MultiCoin has added the ability to transact on an unlimited number of block chains and also documented methods of creating new chains with new models and rules. MultiCoin uses the proof by example method to show progress and as a method of documentation as seen in example bitcoin.conf.* files.
Add scriptPubKey enforced sendescrow and redeemescrow API calls
https://github.com/bitcoin/bitcoin/pull/319 Created another branch of MultiCoin to be used as the gui client called MultiCoin-qt that is a branch of bitcoin-qt using the qt gui libs. this is now completed with preliminary tests complete and published at:
https://github.com/sacarlson/MultiCoin-qt in this gui version you can make cosmetic changes to the gui
from the config file including changing windows title and graphic icon. this version has most of the features of Multicoin except escrow at this time.
added support for namecoin for both MultiCoin and MultiCoin-qt with small changes and created an example bitcoin.conf.namecoin with namecoin chain specs. preliminary tested with MultiCoin and MulitCoin-qt
Merged mining block number
as now seen in
https://github.com/vinced/namecoin with more info found:
https://github.com/vinced/namecoin/blob/mergedmine/doc/README_merged-mining.mdThis might eliminate the need for licensed Mining below.
This is now released on a new branch of MultiCoin-exp
https://github.com/sacarlson/MultiCoin-expas this is very very Experimental at this time I will keep it separate from our slightly more stable branches. This branch is not really completed and has been put on the highest priority of testing and verification. for details about the status and documentation of this branch see:
http://forum.bitcoin.org/index.php?topic=24209.msg394289#msg394289 Update 7/26/11 we have preliminary tests working and I'm now running this branch 24/7 for my site on all 4 of my networks.
Present Primary next objectivesAlternate Chain Licensed Mining addition
See details of this below at:
http://forum.bitcoin.org/index.php?topic=24209.msg347203#msg347203 in an attached article that will be updated as new idea's surface as to how to go about such an endeavour.
Todo list of wanted added pull requests.if anyone can merge any of these into eather or both of my MultiCoin or MultiCoin-qt github release I will evaluate and incoporate them into my github to share with the world
Wallet and key import and export
https://github.com/bitcoin/bitcoin/pull/220Import Export Transactions (offline method of transaction)
https://forum.bitcoin.org/index.php?topic=28278.msg372731#msg372731https://github.com/piotrnar/bitcoin/tree/importexporttxonly planed to be incorporated into MultiCoin at this time. will hold off on merge to MultiCoin-qt until more evaluation testing.
Backport to wx2.8 and dynamically link most libs.
https://github.com/bitcoin/bitcoin/pull/266now canceled with the adoption to bitcoin-qt as the baseline for the gui of choice
Added -purgetx command line option.
https://github.com/bitcoin/bitcoin/pull/256Sign and verify message with bitcoin address and public key
https://github.com/bitcoin/bitcoin/pull/183adding linked chaining method option to link into bitcoin chain or other for security model option. (07:54:55 AM) gmaxwell: The notion is that bitcoin miners could add a single hash to their coinbase, which represents the root of a merkle tree for committments to alternative chains (namecoin, etc). So that people who are interested in namecoin will mine bitcoin. "United we stand"
this work is now in progress in the MultiCoin-exp branch but not completed or fully tested yet.
One of the goals of MultiCoin is to experiment with new features and try and document new alternative chain methods as seen discussed in the article
https://en.bitcoin.it/wiki/Alternative_Chains . For example Another alternative chain idea is to make it possible to add an optional rule in the config to only licensed miners to create blocks in an alternate crypto chains.
When new Ideas appear and are made possible we will do what we can to incorporate them for people to start to try and test them for feasibility and to find and discuss security flaws. The goal is that a group
doesn't have to recompile a program to try and test or use a new crypto currency. A group just agrees to use a defined config file that they setup and distribute to there members.
If you would like to chat about ideas or questions you might have about Multicoin you can come visit the Freenode IRC site at #multicoin.
What is WEEDS currency:Weeds is another test crypto-currency, created for testing and as a proof of concept to using the new multi crypto-currency client now called MultiCoin. Weeds also uses some of the new rules changes possible with MultiCoin that include controlled inflation. In the case of Weeds all the coins were minted within the first 10 blocks in the chain for a total of 10,000,000 Weeds. Weeds also has a set minimum of .01 transaction fee for every transaction. This is all that is received by the minners that mine for Weeds. For test distribution of Weeds you can trade them for tnBTC (testnet bitcoins) at the
http://exchange.beertokens.info site. An example of one of my weeds address is 2h232zEu77ERwWmR8Lw9k3NLSPnbjiFnSsJ . note the 2 at the front the header code for addresses is dec 243 , to see the complete specs of the weeds config I keep an updated copy posted as an example here:
http://exchange.beertokens.info/docs/multicoin/bitcoin.conf.weeds . All mined blocks and all transactions before and after the updated have remained intact from the magic number config change.
To configure Multicoin to operate on the WEEDS net, I do it like this. Create a data dir example mkdir /home/sacarlson/.bitcoin/weeds; cd /home/sacarlson/.bitcoin/weeds ; copy or symbolic link the bitcoin.conf.weeds into this directory. wget
http://exchange.beertokens.info/docs/multicoin/bitcoin.conf.weeds ; mv ./bitcoin.conf.weeds ./bitcoin.conf ; start your multicoin or multicoin-qt ; bitcoind -datadir=/home/sacarlson/.bitcoin/weeds/ ; this method should be similar on all other configs.
Update: as of 6/13/11 we have changed the 4 byte magic number in weeds to fix some problems and help support other things like bitcoin-abe that we now have a working version for weeds presently found in my patched branch of bitcoin-abe found here:
https://github.com/sacarlson/bitcoin-abe . to upgrade to the new magic number simply update your bitcoin.conf.weeds file from MultiCoin or MultiCoin-qt github software distribution or the updated link found here:
http://exchange.beertokens.info/docs/multicoin/bitcoin.conf.weeds . So if you now fail to connect to the Weedsnet and see PROCESSMESSAGE MESSAGESTART NOT FOUND on the console you will know you have not upgraded your bitcoin.conf.weeds that must be renamed to bitcoin.conf in your -datadir for your weeds wallet data dir.
also added support to browse weedsnet with John Tobey's bitcoin-abe as a block explorer is now active at:
http://abe.john-edwin-tobey.org/ I have tested it and it's working fine even after the 4 byte magic number change. Thanks Tobey!
Added support for new sendescrow redeemescrow features in a browser interfaceI have released a modified version of zamgo's bitcoin-webskin to provide some support and examples of using the new sendescrow and redeemescrow features in MultiCoin with a browser interface. It can be found at:
https://github.com/sacarlson/bitcoin-webskin .
Todays tests with me and groffer on his bitcoin branch
https://github.com/groffer/bitcoin for multisign transactions were a success on commit d260515 to see detailed IRC session of tests see
http://paste.ubuntu.com/637841/ I also merged this with my bitcoin branch MultiCoin for further testing and updated my branch of bitcoin-webskin to include the new features.
Creation of New crypto block chainsAt present I have only documented the method to clone the original Bitcoin model of a block chain. But I plan on creating much more advanced methods in the near future that will make all of them obsolete for small networks. But for those still wanting to create dinosaurs the link to create new chains has always been here:
https://github.com/sacarlson/MultiCoin/blob/master/create_new_genisis_block.txt