Pages:
Author

Topic: Counterpart (XCP) Explorer (Read 6142 times)

newbie
Activity: 42
Merit: 0
October 17, 2017, 07:27:01 AM
#29
Hi, PhantomPhreak. It's too heavy to install bitcoind. Smiley Currently I am using the blockchain.info API and this explorer is just a very lightweight Go program running on Heroku without any dependency.

Moreover, I think a separate parsing program may help standardize the protocol specification. Smiley That said, I will follow the changes in the python source since now the source is the specification.  

Hi. That sounds fine. Re-implementations, which should indeed help test the protocol, are great. Smiley We should come up with a standard way of comparing different implementations, of course, when it's time.
Yes, a complete set of tests can help a lot. For example, btcd (a Go implementation of bitcoind) passed all the tests of bitcoind. Moreover, the tests can help the reference implementation itself too for regression testing. This is certainly not a priority for now. Smiley

In current stage, when I get time I will setup a couterpartd in my own laptop and create a script to compare the results periodically.
Thanks, it very much will help.
legendary
Activity: 882
Merit: 1000
January 08, 2014, 09:31:22 PM
#28
Hi, PhantomPhreak. It's too heavy to install bitcoind. Smiley Currently I am using the blockchain.info API and this explorer is just a very lightweight Go program running on Heroku without any dependency.

Moreover, I think a separate parsing program may help standardize the protocol specification. Smiley That said, I will follow the changes in the python source since now the source is the specification.  

Hi. That sounds fine. Re-implementations, which should indeed help test the protocol, are great. Smiley We should come up with a standard way of comparing different implementations, of course, when it's time.
Yes, a complete set of tests can help a lot. For example, btcd (a Go implementation of bitcoind) passed all the tests of bitcoind. Moreover, the tests can help the reference implementation itself too for regression testing. This is certainly not a priority for now. Smiley

In current stage, when I get time I will setup a couterpartd in my own laptop and create a script to compare the results periodically.
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
January 08, 2014, 09:25:50 PM
#27
Hi, PhantomPhreak. It's too heavy to install bitcoind. Smiley Currently I am using the blockchain.info API and this explorer is just a very lightweight Go program running on Heroku without any dependency.

Moreover, I think a separate parsing program may help standardize the protocol specification. Smiley That said, I will follow the changes in the python source since now the source is the specification.  

Hi. That sounds fine. Re-implementations, which should indeed help test the protocol, are great. Smiley We should come up with a standard way of comparing different implementations, of course, when it's time.
legendary
Activity: 882
Merit: 1000
January 08, 2014, 09:13:36 PM
#26
Hi, PhantomPhreak. It's too heavy to install bitcoind. Smiley Currently I am using the blockchain.info API and this explorer is just a very lightweight Go program running on Heroku without any dependency.

Moreover, I think a separate parsing program may help standardize the protocol specification. Smiley That said, I will follow the changes in the python source since now the source is the specification. 
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
January 08, 2014, 08:20:09 PM
#25
I think it wouldn't be hard to programmatically check every address you get from that table with counterpartyd, and get the burn amount. In fact, an even easier way is to check the counterpartyd logfile, which has a pretty structured log syntax that you can turn into data with a few string commands. Of course this will require running bitcoind and counterpartyd on your remote server.

Example from log file:
Quote
...
2014-01-06-T10:30:27Central Standard Time Block: 278930
2014-01-06-T10:30:27Central Standard Time Burn: 1GSJoRMuFEqtx3e4UjmfZiNonoGrHnt5Wv burned 1.0 BTC for 1443.63636364 XCP (b8a27744…79d741e4)
2014-01-06-T10:30:27Central Standard Time Burn: 146FcHjXUSiJMcYWE7WKPBKSvvCedi2YuA burned 1.0 BTC for 1443.63636364 XCP (e62cd3f0…88fc3542)
2014-01-06-T10:30:27Central Standard Time Burn: 18tJnidmGRi4QxAFmUQgwdQMJm9tRVZotp burned 0.9999 BTC for 1443.492 XCP (cd68e0a1…13c4f575)
2014-01-06-T10:30:27Central Standard Time Burn: 1NULPePYzi8oz6r8D2pgKjfAcJjXQGKasc burned 0.30370714 BTC for 438.4426712 XCP (d29b8039…972e4573)
2014-01-06-T10:30:28Central Standard Time Block: 278931
2014-01-06-T10:30:31Central Standard Time Block: 278932
2014-01-06-T10:30:39Central Standard Time Block: 278933
2014-01-06-T10:30:40Central Standard Time Block: 278934
2014-01-06-T10:30:41Central Standard Time Block: 278935
2014-01-06-T10:30:44Central Standard Time Block: 278936
2014-01-06-T10:30:44Central Standard Time Burn: 1NFga6ZVsrx9wP4uRg6rNzD9drbdz5hbsA burned 0.99909597 BTC for 1441.78631162 XCP (460f00fc…c4605fbc)
2014-01-06-T10:30:44Central Standard Time Burn: 1NDBXUBa1DPbPbxLEA8r8FJufzNdrT9Pb7 burned 0.9941 BTC for 1434.57667273 XCP (93a7209d…b2c95f7f)
2014-01-06-T10:30:46Central Standard Time Block: 278937
2014-01-06-T10:30:47Central Standard Time Block: 278938
...
Good idea, I will at least install it on my local computer and compare the results periodically.

If I may ask, why aren't you using counterpartyd, and its JSON-RPC API, to get all of the values? It is the reference implementation of the protocol, so its results are guaranteed to be correct.
legendary
Activity: 882
Merit: 1000
January 08, 2014, 08:08:26 PM
#24
I think it wouldn't be hard to programmatically check every address you get from that table with counterpartyd, and get the burn amount. In fact, an even easier way is to check the counterpartyd logfile, which has a pretty structured log syntax that you can turn into data with a few string commands. Of course this will require running bitcoind and counterpartyd on your remote server.

Example from log file:
Quote
...
2014-01-06-T10:30:27Central Standard Time Block: 278930
2014-01-06-T10:30:27Central Standard Time Burn: 1GSJoRMuFEqtx3e4UjmfZiNonoGrHnt5Wv burned 1.0 BTC for 1443.63636364 XCP (b8a27744…79d741e4)
2014-01-06-T10:30:27Central Standard Time Burn: 146FcHjXUSiJMcYWE7WKPBKSvvCedi2YuA burned 1.0 BTC for 1443.63636364 XCP (e62cd3f0…88fc3542)
2014-01-06-T10:30:27Central Standard Time Burn: 18tJnidmGRi4QxAFmUQgwdQMJm9tRVZotp burned 0.9999 BTC for 1443.492 XCP (cd68e0a1…13c4f575)
2014-01-06-T10:30:27Central Standard Time Burn: 1NULPePYzi8oz6r8D2pgKjfAcJjXQGKasc burned 0.30370714 BTC for 438.4426712 XCP (d29b8039…972e4573)
2014-01-06-T10:30:28Central Standard Time Block: 278931
2014-01-06-T10:30:31Central Standard Time Block: 278932
2014-01-06-T10:30:39Central Standard Time Block: 278933
2014-01-06-T10:30:40Central Standard Time Block: 278934
2014-01-06-T10:30:41Central Standard Time Block: 278935
2014-01-06-T10:30:44Central Standard Time Block: 278936
2014-01-06-T10:30:44Central Standard Time Burn: 1NFga6ZVsrx9wP4uRg6rNzD9drbdz5hbsA burned 0.99909597 BTC for 1441.78631162 XCP (460f00fc…c4605fbc)
2014-01-06-T10:30:44Central Standard Time Burn: 1NDBXUBa1DPbPbxLEA8r8FJufzNdrT9Pb7 burned 0.9941 BTC for 1434.57667273 XCP (93a7209d…b2c95f7f)
2014-01-06-T10:30:46Central Standard Time Block: 278937
2014-01-06-T10:30:47Central Standard Time Block: 278938
...
Good idea, I will at least install it on my local computer and compare the results periodically.
legendary
Activity: 882
Merit: 1000
January 08, 2014, 08:05:54 PM
#23
Ok. Thanks for your clarification. So I will remove the requirement that change address has to be the sent address. Just wonder why you restrict the order. 1) order is not guaranteed in many clients. 2) order is not needed in determining the burnt amount. Thanks.

Btw some clients randomize the output order to increase the anonimosity, so people don't know which address is change address and tracking becomes more difficult.

It's only burn transactions that can even theoretically be constructed with a client that isn't specifically designed to handle Counterparty transactions (which, in every other case, include an OP_RETURN output). This way, the algorithm for parsing a burn is the same as that for parsing any Counterparty transaction with regard to identifying the 'destination': a burn is any valid Counterparty transaction whose destination is the unspendable address.

Ok it make sense. I will change my validation.
sr. member
Activity: 364
Merit: 264
January 08, 2014, 03:23:06 PM
#22
I think it wouldn't be hard to programmatically check every address you get from that table with counterpartyd, and get the burn amount. In fact, an even easier way is to check the counterpartyd logfile, which has a pretty structured log syntax that you can turn into data with a few string commands. Of course this will require running bitcoind and counterpartyd on your remote server.

Example from log file:
Quote
...
2014-01-06-T10:30:27Central Standard Time Block: 278930
2014-01-06-T10:30:27Central Standard Time Burn: 1GSJoRMuFEqtx3e4UjmfZiNonoGrHnt5Wv burned 1.0 BTC for 1443.63636364 XCP (b8a27744…79d741e4)
2014-01-06-T10:30:27Central Standard Time Burn: 146FcHjXUSiJMcYWE7WKPBKSvvCedi2YuA burned 1.0 BTC for 1443.63636364 XCP (e62cd3f0…88fc3542)
2014-01-06-T10:30:27Central Standard Time Burn: 18tJnidmGRi4QxAFmUQgwdQMJm9tRVZotp burned 0.9999 BTC for 1443.492 XCP (cd68e0a1…13c4f575)
2014-01-06-T10:30:27Central Standard Time Burn: 1NULPePYzi8oz6r8D2pgKjfAcJjXQGKasc burned 0.30370714 BTC for 438.4426712 XCP (d29b8039…972e4573)
2014-01-06-T10:30:28Central Standard Time Block: 278931
2014-01-06-T10:30:31Central Standard Time Block: 278932
2014-01-06-T10:30:39Central Standard Time Block: 278933
2014-01-06-T10:30:40Central Standard Time Block: 278934
2014-01-06-T10:30:41Central Standard Time Block: 278935
2014-01-06-T10:30:44Central Standard Time Block: 278936
2014-01-06-T10:30:44Central Standard Time Burn: 1NFga6ZVsrx9wP4uRg6rNzD9drbdz5hbsA burned 0.99909597 BTC for 1441.78631162 XCP (460f00fc…c4605fbc)
2014-01-06-T10:30:44Central Standard Time Burn: 1NDBXUBa1DPbPbxLEA8r8FJufzNdrT9Pb7 burned 0.9941 BTC for 1434.57667273 XCP (93a7209d…b2c95f7f)
2014-01-06-T10:30:46Central Standard Time Block: 278937
2014-01-06-T10:30:47Central Standard Time Block: 278938
...
full member
Activity: 238
Merit: 100
January 08, 2014, 11:19:31 AM
#21

Great!
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
January 08, 2014, 10:39:00 AM
#20
Thanks BitThink for your work on this. This is the first community project out of what will hopefully be many. Smiley

Yes, seconded.
sr. member
Activity: 390
Merit: 254
Counterparty Developer
January 08, 2014, 10:32:26 AM
#19
Thanks BitThink for your work on this. This is the first community project out of what will hopefully be many. Smiley
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
January 08, 2014, 10:17:53 AM
#18
Ok. Thanks for your clarification. So I will remove the requirement that change address has to be the sent address. Just wonder why you restrict the order. 1) order is not guaranteed in many clients. 2) order is not needed in determining the burnt amount. Thanks.

Btw some clients randomize the output order to increase the anonimosity, so people don't know which address is change address and tracking becomes more difficult.

It's only burn transactions that can even theoretically be constructed with a client that isn't specifically designed to handle Counterparty transactions (which, in every other case, include an OP_RETURN output). This way, the algorithm for parsing a burn is the same as that for parsing any Counterparty transaction with regard to identifying the 'destination': a burn is any valid Counterparty transaction whose destination is the unspendable address.
legendary
Activity: 882
Merit: 1000
January 08, 2014, 09:35:01 AM
#17
if there're two outputs, the first output should be the burn address and the second should be the same as the input address. Please correct me if this does not comply with the standard
Don't know how counterpartyd works, but standard bitcoin client doesn't guarantee outputs order.
https://github.com/bitcoin/bitcoin/blob/master/src/wallet.cpp#L1333
Ok, then I will relax to

if there're two outputs, one has to be the burn address and one has to be the send address.

Any Counterpart developer can help to confirm these rules? Thanks a lot.

As others have noted, the change address is unimportant; what matters is the order of the outputs, which counterpartyd picks carefully. I'm going to change the HowToBurn instructions now.
Ok. Thanks for your clarification. So I will remove the requirement that change address has to be the sent address. Just wonder why you restrict the order. 1) order is not guaranteed in many clients. 2) order is not needed in determining the burnt amount. Thanks.

Btw some clients randomize the output order to increase the anonimosity, so people don't know which address is change address and tracking becomes more difficult.
legendary
Activity: 2156
Merit: 1131
January 08, 2014, 08:56:08 AM
#16
Excellent job, thank you! I exceeded the 1 BTC limit, does this matter?
If you exceeded the 1 BTC limit, you'll get 1 BTC worth of XCP.
Thanks for clearing that up  Smiley

Here you are NWO, not missing any opportunity...  Wink
NWO
sr. member
Activity: 392
Merit: 250
January 08, 2014, 08:46:01 AM
#15
Excellent job, thank you! I exceeded the 1 BTC limit, does this matter?

If you exceeded the 1 BTC limit, you'll get 1 BTC worth of XCP.

Thanks for clearing that up  Smiley
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
January 08, 2014, 08:12:17 AM
#14
Excellent job, thank you! I exceeded the 1 BTC limit, does this matter?

If you exceeded the 1 BTC limit, you'll get 1 BTC worth of XCP.
NWO
sr. member
Activity: 392
Merit: 250
January 08, 2014, 08:04:35 AM
#13
Excellent job, thank you! I exceeded the 1 BTC limit, does this matter?
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
January 08, 2014, 07:39:04 AM
#12
if there're two outputs, the first output should be the burn address and the second should be the same as the input address. Please correct me if this does not comply with the standard
Don't know how counterpartyd works, but standard bitcoin client doesn't guarantee outputs order.
https://github.com/bitcoin/bitcoin/blob/master/src/wallet.cpp#L1333
Ok, then I will relax to

if there're two outputs, one has to be the burn address and one has to be the send address.

Any Counterpart developer can help to confirm these rules? Thanks a lot.

As others have noted, the change address is unimportant; what matters is the order of the outputs, which counterpartyd picks carefully. I'm going to change the HowToBurn instructions now.
legendary
Activity: 882
Merit: 1000
January 08, 2014, 01:31:22 AM
#11
It's due to a bug. Fixed already.

Love your work!

Btw, which address was the first that did a successful burn?
I guess this one
https://blockchain.info/tx/685623401c3f5e9d2eaaf0657a50454e56a270ee7630d409e98d3bc257560098


Currently, the order in my website is random the order is from the most XCP to least. Smiley
sr. member
Activity: 262
Merit: 250
January 08, 2014, 01:19:44 AM
#10
It's due to a bug. Fixed already.

Love your work!

Btw, which address was the first that did a successful burn?
Pages:
Jump to: