AWARD-WINNING

CASINO CRYPTO EXCLUSIVE

CLUBHOUSE 1500+

GAMES 2 MIN

CASH-OUTS 24/7

SUPPORT 100s OF

FREE SPINS PLAY NOW dvertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here. dvertised sites are notendorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in yourjurisdiction.

killerstorm



Offline



Activity: 1022

Merit: 1000









LegendaryActivity: 1022Merit: 1000 Re: ArmoryX (colored coins): issue and trade private currencies/stocks/bonds/etc October 16, 2013, 08:43:56 PM #244 Quote from: molecular on October 16, 2013, 07:38:00 PM I would like to seconds this question regarding color kernel and parameter "storage location"? Do I understand correctly that the color kernel is defined by the issuing transaction and that data is stored in the blockchain?

No.



Suppose you have just installed NGCCC. In its initial state, it only knows about bitcoins, and isn't able to recognize any colors.



But you, as a user, is interested in some asset. So you instruct it: "NGCCC, I want you to track certain colored colored coins using parametrized color kernel OBC. Their genesis is X:Y. Please call them Foo".



NGCCC will add a record like "OBC:X:Y = Foo" into its configuration file so it will be able to remember about this association between name and color.



And now it is able to recognize these Foo-coins.



Issuing transaction is just a normal transaction. It simply acts as a starting point: next transaction will spend its output, and so on.



Quote from: molecular on October 16, 2013, 07:38:00 PM This leads me to next question: is any data stored off blockchain at all?

Blockchain has information about transfers of colored coins.



Everything else can be stored elsewhere.



Quote from: molecular on October 16, 2013, 07:38:00 PM This leads me to yet further question: where/how is "association" of color with a contract "stored"?

We use a layered model.



Lowest layer is the colored coin model, it is about color kernel and colorvalues. Contracts simply do not exist on that level.



Contracts can appear on higher levels, but so far we haven't fully implement this higher level. But the thing is, it can be implemented in many different ways, and it isn't of utter importance.



I believe it's better to keep it manual for now.



E.g. suppose John Smith wants to issue 1000 bonds with face value of 1 USD each. To do this he will write a message like



Quote I, John Smith, promise to pay X US dollars for a transaction output which has colorvalue X according to color kernel "obc:cc8e64cef1a880f5132e73b5a1f52a72565c92afa8ec36c445c635fe37b372fd:0:263370".

In order to redeem them, colored coins must be sent to address 1XYZabc, and then sender must write a message with his contact and banking information, sign it with address which was used to send colored coins to address mentioned above, and send me this signed message via email.

Then John Smith will sign this message using GPG and will post it in on forum. If there are people who trust him, they'll check if GPG signature is valid.



If they are willing to trade these bonds, they will add color mentioned in the message into their colored coin client.



Of course, we can create a special format for these contracts, make some kind of database where they can be published and so on.



But right now it isn't necessary: people can just use whatever they are comfortable with.



Colored coin software is just a tool which tracks coins.

No.Suppose you have just installed NGCCC. In its initial state, it only knows about bitcoins, and isn't able to recognize any colors.But you, as a user, is interested in some asset. So you instruct it: "NGCCC, I want you to track certain colored colored coins using parametrized color kernel OBC. Their genesis is X:Y. Please call them Foo".NGCCC will add a record like "OBC:X:Y = Foo" into its configuration file so it will be able to remember about this association between name and color.And now it is able to recognize these Foo-coins.Issuing transaction is just a normal transaction. It simply acts as a starting point: next transaction will spend its output, and so on.Blockchain has information about transfers of colored coins.Everything else can be stored elsewhere.We use a layered model.Lowest layer is the colored coin model, it is about color kernel and colorvalues. Contracts simply do not exist on that level.Contracts can appear on higher levels, but so far we haven't fully implement this higher level. But the thing is, it can be implemented in many different ways, and it isn't of utter importance.I believe it's better to keep it manual for now.E.g. suppose John Smith wants to issue 1000 bonds with face value of 1 USD each. To do this he will write a message likeThen John Smith will sign this message using GPG and will post it in on forum. If there are people who trust him, they'll check if GPG signature is valid.If they are willing to trade these bonds, they will add color mentioned in the message into their colored coin client.Of course, we can create a special format for these contracts, make some kind of database where they can be published and so on.But right now it isn't necessary: people can just use whatever they are comfortable with.Colored coin software is just a tool which tracks coins. Chromia : a better dapp platform

molecular

Legendary



Offline



Activity: 2730

Merit: 1016









DonatorLegendaryActivity: 2730Merit: 1016 Re: ArmoryX (colored coins): issue and trade private currencies/stocks/bonds/etc October 16, 2013, 09:01:15 PM #245 Quote from: killerstorm on October 16, 2013, 08:43:56 PM Quote from: molecular on October 16, 2013, 07:38:00 PM I would like to seconds this question regarding color kernel and parameter "storage location"? Do I understand correctly that the color kernel is defined by the issuing transaction and that data is stored in the blockchain?

No.



Suppose you have just installed NGCCC. In its initial state, it only knows about bitcoins, and isn't able to recognize any colors.



But you, as a user, is interested in some asset. So you instruct it: "NGCCC, I want you to track certain colored colored coins using parametrized color kernel OBC. Their genesis is X:Y. Please call them Foo".



NGCCC will add a record like "OBC:X:Y = Foo" into its configuration file so it will be able to remember about this association between name and color.



And now it is able to recognize these Foo-coins.



Issuing transaction is just a normal transaction. It simply acts as a starting point: next transaction will spend its output, and so on.



Quote from: molecular on October 16, 2013, 07:38:00 PM This leads me to next question: is any data stored off blockchain at all?

Blockchain has information about transfers of colored coins.



Everything else can be stored elsewhere.



Quote from: molecular on October 16, 2013, 07:38:00 PM This leads me to yet further question: where/how is "association" of color with a contract "stored"?

We use a layered model.



Lowest layer is the colored coin model, it is about color kernel and colorvalues. Contracts simply do not exist on that level.



Contracts can appear on higher levels, but so far we haven't fully implement this higher level. But the thing is, it can be implemented in many different ways, and it isn't of utter importance.



I believe it's better to keep it manual for now.



E.g. suppose John Smith wants to issue 1000 bonds with face value of 1 USD each. To do this he will write a message like



Quote I, John Smith, promise to pay X US dollars for a transaction output which has colorvalue X according to color kernel "obc:cc8e64cef1a880f5132e73b5a1f52a72565c92afa8ec36c445c635fe37b372fd:0:263370".

In order to redeem them, colored coins must be sent to address 1XYZabc, and then sender must write a message with his contact and banking information, sign it with address which was used to send colored coins to address mentioned above, and send me this signed message via email.

Then John Smith will sign this message using GPG and will post it in on forum. If there are people who trust him, they'll check if GPG signature is valid.



If they are willing to trade these bonds, they will add color mentioned in the message into their colored coin client.



Of course, we can create a special format for these contracts, make some kind of database where they can be published and so on.



But right now it isn't necessary: people can just use whatever they are comfortable with.



Colored coin software is just a tool which tracks coins.



No.Suppose you have just installed NGCCC. In its initial state, it only knows about bitcoins, and isn't able to recognize any colors.But you, as a user, is interested in some asset. So you instruct it: "NGCCC, I want you to track certain colored colored coins using parametrized color kernel OBC. Their genesis is X:Y. Please call them Foo".NGCCC will add a record like "OBC:X:Y = Foo" into its configuration file so it will be able to remember about this association between name and color.And now it is able to recognize these Foo-coins.Issuing transaction is just a normal transaction. It simply acts as a starting point: next transaction will spend its output, and so on.Blockchain has information about transfers of colored coins.Everything else can be stored elsewhere.We use a layered model.Lowest layer is the colored coin model, it is about color kernel and colorvalues. Contracts simply do not exist on that level.Contracts can appear on higher levels, but so far we haven't fully implement this higher level. But the thing is, it can be implemented in many different ways, and it isn't of utter importance.I believe it's better to keep it manual for now.E.g. suppose John Smith wants to issue 1000 bonds with face value of 1 USD each. To do this he will write a message likeThen John Smith will sign this message using GPG and will post it in on forum. If there are people who trust him, they'll check if GPG signature is valid.If they are willing to trade these bonds, they will add color mentioned in the message into their colored coin client.Of course, we can create a special format for these contracts, make some kind of database where they can be published and so on.But right now it isn't necessary: people can just use whatever they are comfortable with.Colored coin software is just a tool which tracks coins.

I understand the approach regarding binding of asset/contract/... to color and I agree this is a good approach. Maybe concering yourself with implementing the "higher level" should have low priority.





Thank you! Especially for supplying your example John Smith contract you put in quote above, maybe this could be put somewhere into the "intro" document ( https://github.com/bitcoinx/colored-coin-tools/wiki/colored_coins_intro ). I understand the approach regarding binding of asset/contract/... to color and I agree this is a good approach. Maybe concering yourself with implementing the "higher level" should have low priority. PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0 3F39 FC49 2362 F9B7 0769

osoverflow



Offline



Activity: 590

Merit: 105





Bitcoin ya no es el futuro, es el presente







Full MemberActivity: 590Merit: 105Bitcoin ya no es el futuro, es el presente Re: NGCCC (colored coins): issue and trade private currencies/stocks/bonds/etc October 18, 2013, 07:03:31 PM #249 It's great to read this thread. I'm working in the implementation of colored coins in a p2p and web exchange for stocks, bonds and options.



coinmarket.pw is the link.



I'm using colored coins for transactions and to keep records of who has what.

I'm using namecoin to store the relationship between the genesis address and the stock and other metadata.

I'm using a mix of internal database and bitmessage to store local and p2p trades

I'm using abe block explorer and mysql to store all the block chain in a easy to access database to track colored coins



I want to collaborate with this project, because I'm using the technology. I think we can make this a initial exchange, then a group of exchanges can spawn from it in various countries, with collaborative order book, offering different advantages to traders and issuers that help them decide in which market they want to stay. They can also keep portion of their shares on multiple markets, to increase the liquidity.



Bienvenidos a la nueva tecnología

killerstorm



Offline



Activity: 1022

Merit: 1000









LegendaryActivity: 1022Merit: 1000 Re: NGCCC (colored coins): issue and trade private currencies/stocks/bonds/etc October 25, 2013, 09:56:33 AM #255 Quote from: dillpicklechips on October 25, 2013, 03:22:23 AM I get this error



$ python ngccc.py



It's not this simple



OK, first of all, I wouldn't call this 'usable', basically it is just a prototype at this stage.



Requirements: To run it you need bitcoind or Bitcoin-Qt with enabled JSON-RPC interface, and also txindex needs to be enabled.



To do this you can add txindex=1 to config. If you launched bitcoind/Bitcoin-Qt before, it will need to reindex blockchain. To do this, simply stop it and launch with -reindex parameter. Reindexation can take up to a hour.



(txindex is needed only for work with colored coins, if you want to use it for plain bitcoins it works fine without it.)



OK, so it is a command-line utility. Generally, each command requires a name of asset you're working with, e.g.:



Code: $ python ngccc.py newaddr bitcoin

1NJukQf77p76SezLwRGkjeX4qtz28BMa6D



$ python ngccc.py balance bitcoin

30000



$ python ngccc.py alladdresses bitcoin

[u'1LxmJJLnnLR9QmBNJwVhFL4h8BtQQ8SEbS', ... ]



$ python ngccc.py send bitcoin 1LxmJJLnnLR9QmBNJwVhFL4h8BtQQ8SEbS 12345

...



(Note that it uses blockchain.info to find UTXOs, so balance command might be slow if you have many addresses.)



Now let's do something with colored coins:



Code: $ python ngccc.py issue foo obc 1 10000

# this issues colored coins using order-based coloring method (obc), using 10000 satoshi for this

# asset associated with this color will be called foo



# balance will be available only after genesis transaction is included into a block:



$ python ngccc.py balance foo

10000



# only addresses associated with asset foo will be able to receive colored coins

$ python ngccc.py alladdresses foo

['17tJE7tySa6L6UUmLGAzMAvrqjLcAaXwZx']



$ python ngccc.py send foo 17tJE7tySa6L6UUmLGAzMAvrqjLcAaXwZx 10000

...



Currently there is no good way to get color_desc of asset/color:



Code: $ python ngccc.py dump_config >my-config.json



$ cat my-config.json

{

"asset_definitions": [

{

"color_set": [

"obc:caff27b3fe0a826b776906aceafecac7bb34af16971b8bd790170329309391ac:0:265577"

],

"monikers": [

"foo"

]

}

],

...



Once you have color_desc, you can import it into another client like this:



Code: $ python ngccc.py addasset foo "obc:cc8e64cef1a880f5132e73b5a1f52a72565c92afa8ec36c445c635fe37b372fd:0:263370"



#and now it is possible to get an address which can be used to receive foo-coins:

$ python ngccc.py newaddr foo



Finally, wallet is editable: to do this you need to edit JSON file obtained by dump_config, and load it using import_config my-config.json It's not this simpleOK, first of all, I wouldn't call this 'usable', basically it is just a prototype at this stage.Requirements: To run it you need bitcoind or Bitcoin-Qt with enabled JSON-RPC interface, and also txindex needs to be enabled.To do this you can add txindex=1 to config. If you launched bitcoind/Bitcoin-Qt before, it will need to reindex blockchain. To do this, simply stop it and launch with -reindex parameter. Reindexation can take up to a hour.(txindex is needed only for work with colored coins, if you want to use it for plain bitcoins it works fine without it.)OK, so it is a command-line utility. Generally, each command requires a name of asset you're working with, e.g.:(Note that it uses blockchain.info to find UTXOs, so balance command might be slow if you have many addresses.)Now let's do something with colored coins:Currently there is no good way to get color_desc of asset/color:Once you have color_desc, you can import it into another client like this:Finally, wallet is editable: to do this you need to edit JSON file obtained by dump_config, and load it using import_config my-config.json Chromia : a better dapp platform