Author [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: 2 x 800 PTS - Generate Unspent Output Set every day at midnight GMT [PAID]  (Read 4250 times)

0 Members and 1 Guest are viewing this topic.

Offline bytemaster


I am looking for someone to setup and maintain a web service that will generate the unspent output set from BitShares PTS as a .json file of the following form

{ "blocknum" : N, "blocktime" : timestamp, "moneysupply" : supply, "balances" :
[ {"PTSADDRESS1":TOTAL_BALANCE}, {"PTSADDRESS2":TOTAL_BALANCE}...] }

I will pay this bounty twice for two people that produce independent implementations hosted on independent servers and publish their source code and a HOWTO set up a similar service on a brand new server.

I will pay $3 per day in PTS that the service has 100% uptime AND produces accurate data, this will be paid monthly for the next year.

I will pay a 120 PTS sub-bounty for someone to replicate the work of the two independent implementations and host a mirror for 1 year paid out at 10 PTS per month. 

The .json file should be made available for any day as of the last block found before midnight GMT
The .json file must be available by noon the next day. 
Multiple outputs payable to the same address should be summed to result in a single entry

The purpose of this bounty is to make it easy for anyone to create a snapshot and launch a new DAC honoring PTS and also to provide an independent audit of PTS balances in our genesis blocks.

I would also like this service to capture the cumulative master book for AGS donations each day and generate a .json file of the same format.   

Lastly I would like the service to produce a genesis block every day based upon a web-form that specifies the percentage of the money supply that should be allocated to AGS and PTS.    It should be in the same format as the AGS and PTS balances.

We will allow for several days of operation to verify the services are indeed producing the same results.   Until two independent implementations produce identical results no one gets paid.   This applies to the AGS data as well.  A mistake I made last time was not having a means to validate / compare results.   So if you pull your data from agsexplorer or angelshares.info then I suggest you find a way to produce identical results.  Two services that both use the same AGS source are not fully independent.
« Last Edit: February 27, 2014, 03:37:40 AM by bytemaster »
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline vertoe

  • Jr. Member
  • **
  • Posts: 30
  • i'm here
    • View Profile
I've written two PHP scripts to accomplish that.

JSON file honoring the defined form: http://q30.protoshar.es/pts/pts_unspent.json
Source code published on github: https://github.com/vertoe/pts-unspent
HOWTO set up a similar service: https://github.com/vertoe/pts-unspent/wiki

Note, the database is currently being filled as the blockchain is being parsed.

PuCPcTzHDpsWrVEdBrC5F53qrxfdiUXk62
« Last Edit: February 12, 2014, 02:51:15 AM by vertoe »

drekrob

  • Guest
I managed to do it in nodejs
https://github.com/DerKorb/ParseProto/
Just moving this from my localhost to my web server right now.
Requires a local instance of protosharesd running.

drekrob

  • Guest
url for json will be : http://feinarbyte.de:1027/data

Offline vertoe

  • Jr. Member
  • **
  • Posts: 30
  • i'm here
    • View Profile
patience, young padawan, there is a bounty for two of us ;)

drekrob

  • Guest
need to download the blockchain first

Offline toast

 +5%
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline BrownBear

  • Full Member
  • ***
  • Posts: 51
    • View Profile
I'm also about to complete this bounty. Mine is a modification in protosharesd which will output the json data every day.
Since I'm the third, I'm unsure whether I should get a server for this or not, but either way I can replicate one (or both) of the above.

Here's the fork of protoshares:
https://github.com/BrownBear2/ProtoShares

This version will create a new json file in the specified location (-unspent path/to/file.json) whenever the first block of a new day has been received according to the blocktime.
« Last Edit: February 12, 2014, 03:46:12 AM by BrownBear »

drekrob

  • Guest
well i shall continue with this tomorrow, I have been up way to long... If anyone feels like doing the daily genesis block i would not mind.

Offline bytemaster

I've written two PHP scripts to accomplish that.

JSON file honoring the defined form: http://q30.protoshar.es/pts/pts_unspent.json
Source code published on github: https://github.com/vertoe/pts-unspent
HOWTO set up a similar service: https://github.com/vertoe/pts-unspent/wiki

Note, the database is currently being filled as the blockchain is being parsed.

PuCPcTzHDpsWrVEdBrC5F53qrxfdiUXk62

Missing AGS and how do I specify the day... I should have access to every day (after the launch), not just the most recent day.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline vertoe

  • Jr. Member
  • **
  • Posts: 30
  • i'm here
    • View Profile
Missing AGS and how do I specify the day... I should have access to every day (after the launch), not just the most recent day.

Ok, will adjust the script to output daily results and create AGS integration. I've overread that part.

Daily JSON is enough or do you want to be able to get the result on the basis of a specified block?

Offline bytemaster

Missing AGS and how do I specify the day... I should have access to every day (after the launch), not just the most recent day.

Ok, will adjust the script to output daily results and create AGS integration. I've overread that part.

Daily JSON is enough or do you want to be able to get the result on the basis of a specified block?

I am fine with the status of the last block timestamped for each day GMT time.  This will line up with the AGS for that day and make everyone's life easier.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

I'm also about to complete this bounty. Mine is a modification in protosharesd which will output the json data every day.
Since I'm the third, I'm unsure whether I should get a server for this or not, but either way I can replicate one (or both) of the above.

Here's the fork of protoshares:
https://github.com/BrownBear2/ProtoShares

This version will create a new json file in the specified location (-unspent path/to/file.json) whenever the first block of a new day has been received according to the blocktime.

So far no one has completed the bounty and delivered a complete working service that meets all of the requirements.   In the event that multiple people complete within 3 days of each other the award will go to the two solutions we consider most robust, well documented, and accurate.

We will allow for several days of operation to verify the services are indeed producing the same results.   Until two independent implementations produce identical results no one gets paid.   This applies to the AGS data as well.  A mistake I made last time was not having a means to validate / compare results.   So if you pull your data from agsexplorer or angelshares.info then I suggest you find a way to produce identical results.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

drekrob

  • Guest
I just noticed that my method might not work after all. The bitcoind/protosharesd api i'm using outputs only unspent outputs via rpc. So every donation to the angel adress that got already spent again is not listet and thus i wont ever be able to get accurate results. So good luck to you two in claiming this bounty, my solution disqualified itself.

Offline BrownBear

  • Full Member
  • ***
  • Posts: 51
    • View Profile
My code now spits out unspent tx out for any day you like as well as a file containing an entry for everyone who donated to the angel share address.

Quote
Lastly I would like the service to produce a genesis block every day based upon a web-form that specifies the percentage of the money supply that should be allocated to AGS and PTS.    It should be in the same format as the AGS and PTS balances.
Can you expand on that part a bit, please?

I will do further testing to ensure data validity and set up a server soon.

 

Google+