Bitcoin Forum
May 07, 2024, 11:04:14 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [ANN] Colorcore: the colored coin wallet compatible with open assets  (Read 1599 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
Coinprism (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 2


View Profile WWW
September 02, 2014, 02:57:29 PM
 #1

We are glad to announce the release of Colorcore: an open source colored coin wallet compatible the open assets protocol and Coinprism. We are also releasing the openassets Python library for developers who want to integrate colored coins.

What can you do with Colorcore?

Please know that for now, Colorcore is command line and RPC only. For a web-based version, please use Coinprism.

Colorcore lets you:
  • Issue you own coins
    Anybody can issue their own coins. It only takes a single Bitcoin transaction. The only fee you have to pay is the Bitcoin transaction fee (which can be zero), which makes Colorcore much more efficient than alternatives like XCP (about $20 to issue an asset).
    Also, you don't need to buy any intermediary coin (like XCP) since colored coins work directly on top of Bitcoin.
  • Send and receive assets
    Use your address to receive assets from other people. You can also send assets, again for the price of a standard Bitcoin transaction.
  • Manage crowdfunding campaigns
    Finally a way to manage a truly decentralized crowdfuding campaign. You don't have to trust a complex and limited exchange protocol, the "distribute" feature creates standard Bitcoin transactions. There is no magic behind it.

Every asset created or exchanged using Colorcore are visible on the coinprism.info block explorer, and can be sent to a Coinprism web-wallet.

Installation and dependencies

Colorcore does not connect to any external service. All it needs is access to the Bitcoin blockchain, via Bitcoin Core. Therefore in order to run Colorcore, you need Bitcoin Core running with RPC enabled and the -txindex=1 -server=1 flags.

Follow these instructions to install Colorcore:

  • Windows users: make sure you have Python 3 and pip installed on your machine
  • Run the following commands:

Code:
git clone https://github.com/OpenAssets/colorcore.git
cd colorcore
pip install --upgrade -r requirements.txt

  • Edit the config.ini file with the username, password and port for your local Bitcoin Core instance (rpcurl setting).

You are now ready to run Colorcore.

How to use it?

Get your balance
Run the following command to get your balance:

Code:
python colorcore.py getbalance

http://blog.coinprism.com/wp-content/uploads/2014/09/getbalance.png

All the addresses with a non-zero balance on your Bitcoin Core wallet will be displayed. The 'assets' field will show how much assets you have. If you don't have any asset, it will be empty. Each asset has a 'assetAddress' field as well as a 'quantity' field. 'assetAddress' is what identifies the asset. It is cryptographically secure, and it is impossible for two people to be owner of the same asset address. 'quantity' is an integer indicating how many units of that asset you own.

Create your own asset

First, you need to create an address in Bitcoin Core. This address will represent your asset, and the private key associated will be required for any issuance of the asset. Note that the protocol supports multi-sig addresses for issuance, though that is not implemented in Colorcore 1.0.

Run the following command on bitcoind (not Colorcore):

Code:
bitcoind getnewaddress

This will generate a private key and return the address. Make sure your wallet.dat file is properly backed up.

Now transfer a small amount of bitcoins (0.0002 BTC is enough) to that newly created address.

Run the following command to issue one million colored coins:

Code:
python colorcore.py issueasset <address> 1000000

You can issue up to 9,223,372,036,854,775,807 colored coins at once. Unlike older colored coins implementations, you only need 0.000006 BTC for issuing coins, regardless of the quantity you want to issue.

This command will return a transaction hash. You can look up that transaction hash on the coinprism.info block explorer.

How do I give my asset a name?

Of course, this is not very useful if you can't identify what asset is what. In order to link information such as a name to your coin, you need to create a metadata file, and host it on your web server. Of course, this doesn't introduce centralization since you are already the issuer of the coin, and the value of your coin (if any) already comes from you. Since you are responsible for the value of the coin you are issuing, it is not an issue if you also host the information about this coin. The metadata file is a JSON file and contains the following information:

Code:
{
  "source_addresses": [
    "source address for the coin (can be obtained from the getbalance call)"
  ],
  "contract_url": "https://yoursite.com/more-info-about-the-coin",
  "name_short": "ICECC",
  "name": "The Ice Cream Coin",
  "issuer": "Vanilla Inc",
  "description": "This coin is worth an ice cream at any Vanilla Inc shop.",
  "description_mime": "text/x-markdown; charset=UTF-8",
  "type": "Points",
  "divisibility": 0,
  "link_to_website": true,
  "icon_url": "https://yoursite.com/coin-icon.jpg",
  "image_url": "https://yoursite.com/coin-image.jpg",
  "version": "1.0"
}

The assuming you have placed that file at: https://yoursite.com/icecream, use the following argument when issuing the coins:

Code:
python colorcore.py issueasset <address> 1000000 --metadata u=https://yoursite.com/icecream

You can then lookup the color address on coinprism.info, and you should see all that information.

Only the URL (https://yoursite.com/icecream) is stored on the Blockchain.

What else?

Colorcore also has support for crowdfunding management via the "distribute" command. This feature lets you be at all times in control of how many tokens are issued, and at which price.

Colorcore also exposes all those commands via JSON/RPC so that you can easily integrate it server side.

Tell me about colored coins

What are the benefits of colored coins

Because colored coins are a powerful, but thin layer on top of Bitcoin, there are many features that colored coins can use out of the box, with no need for any change or special support (unlike alternatives like Counterparty):


Because colored coins is built for the future, none of those features require a breaking change, so you don't have to update your client every two week to stay in consensus because of a breaking protocol change.

What are the drawbacks of colored coins

  • It doesn't have native built-in support for rock-paper-scissors

Please don't hesitate to post your feedback, or contact us directly.

1715123054
Hero Member
*
Offline Offline

Posts: 1715123054

View Profile Personal Message (Offline)

Ignore
1715123054
Reply with quote  #2

1715123054
Report to moderator
1715123054
Hero Member
*
Offline Offline

Posts: 1715123054

View Profile Personal Message (Offline)

Ignore
1715123054
Reply with quote  #2

1715123054
Report to moderator
Each block is stacked on top of the previous one. Adding another block to the top makes all lower blocks more difficult to remove: there is more "weight" above each block. A transaction in a block 6 blocks deep (6 confirmations) will be very difficult to remove.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715123054
Hero Member
*
Offline Offline

Posts: 1715123054

View Profile Personal Message (Offline)

Ignore
1715123054
Reply with quote  #2

1715123054
Report to moderator
1715123054
Hero Member
*
Offline Offline

Posts: 1715123054

View Profile Personal Message (Offline)

Ignore
1715123054
Reply with quote  #2

1715123054
Report to moderator
1715123054
Hero Member
*
Offline Offline

Posts: 1715123054

View Profile Personal Message (Offline)

Ignore
1715123054
Reply with quote  #2

1715123054
Report to moderator
bonipper
Sr. Member
****
Offline Offline

Activity: 246
Merit: 250


View Profile
September 02, 2014, 04:13:08 PM
 #2


All it needs is access to the Bitcoin blockchain, via Bitcoin Core. Therefore in order to run Colorcore, you need Bitcoin Core running with RPC enabled and the -txindex=1 -server=1 flags.


This sounds great apart from requiring us to download the whole bitcoin blockchain. Will there be some way around this in the future?
Coinprism (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 2


View Profile WWW
September 02, 2014, 04:36:50 PM
 #3

This sounds great apart from requiring us to download the whole bitcoin blockchain. Will there be some way around this in the future?

Thanks. You can already use Coinprism, which is a lightweight web-based client, and it doesn't store your keys (similar to blockchain.info). Colorcore is mostly for people who want independence from any external service and want full validation. In that case, you need the full blockchain.
bonipper
Sr. Member
****
Offline Offline

Activity: 246
Merit: 250


View Profile
September 02, 2014, 04:46:28 PM
 #4

Is there somewhere that provides zipped snapshots, or bootstrap.dat's of the bitcoin blockchain to speed up downloads?
Coinprism (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 2


View Profile WWW
September 02, 2014, 04:51:17 PM
 #5

Is there somewhere that provides zipped snapshots, or bootstrap.dat's of the bitcoin blockchain to speed up downloads?

You can download the blockchain pretty quickly by using BitTorrent, see this thread for more info: https://bitcointalk.org/index.php?topic=145386.0
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!