Author

Topic: P2Pool donation tool now available to help decentralize the network (Read 1388 times)

hero member
Activity: 994
Merit: 1000
Hey... I'm getting internal server error when I go to your donate page.

Heya, aye I had a bug in the db, fixed it now!
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
Hey... I'm getting internal server error when I go to your donate page.
hero member
Activity: 994
Merit: 1000
Alrighty, I've implemented the donation tool API using simple GET protocol.

http://blisterpool.com/p2papi explains how to do it all.

A couple of people asked for this, not 100% sure why but off the top of my head if you're a business you could automate payments via script pretty easily, and secondly if you're a p2pool node operator and want a relatively easy way to drum up p2pool donations you can add a simple form (get, not post) to your front end that calls upon this api.

At the moment if you create a donation using the API, you can supply an operator_email field and a tip_address field. This is if you want to route donations through this tool (for example, you don't want to write your own interface). If someone comes across your node and wants to donate, instead of sending them to my page you can just create a form which makes the request on their behalf, put in the normal fields, put your email address and your tip address in too, then send the response back to the user. Any tip gets split 50/50, and I pay all the network fees from my portion.

I've tested it and it seems to be working as intended...any problems let me know.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
awesome work, I can verify that this does indeed donate back to miners having both used it to donate and seeing donations paid to me as a miner from it.

This is a great service and if you can spare a few mBTC's then please help support the network.
hero member
Activity: 994
Merit: 1000
Regarding an API, what kind of information would you want to draw from it?

At the moment the most basic api I can think of would do something like:

To create a donation, submit a post to an url with the following fields (json):

api user sends:-

request: new
donation_amount
cutoff
tip (optional)
donator_email (optional - sends notifications to donator, if pool operators want to send their own notification, just leave this blank)
donator_refund(optional - if insufficient funds make it to the address and it expires, they get sent here. I might not include this to avoid people scamming donators)
operator_address (optional, will split any tips 50/50 with operators, yours would go to this address)
node_email (optional, for notifications - request, paid, expired, if you care)

It'll do the stuff and return a json object with this data:

api user receives:-

status: success, error
message (for errors, etc)
data

  -  donation address
  -  donation url (for status page)
  -  id (for future lookups)

Then with that id you can do lookups, eg:

api user sends:-

request: id_lookup
id: donation's id

api user receives:-

status: success, error
message (for errors, etc)
data
  -  confirmations
  -  donation_status: unpaid, paid, expired (about to be deleted within the week)
  -  balance (how much has been sent to the donation address)
  -  amount (original donation requested)
  -  tip
  -  expected (amount + tip)
  -  payouts:       -  miner_address: payout (a dictionary/json of who got what)

I could do other db lookups, like a general table lookup if people want to see all of them...is that useful to anyone?

api user sends:-

request: donations_lookup
howmany: default last 20 or something, if this is "all" will send everything (may have to limit these if it gets spammed)

api user receives:-

status: success, error
message (for errors, etc)
data
  -  paid - all the donations with paid status
  -  unpaid - all the donations with unpaid status
  - aged - all the unpaid donations over a day old (ie unlikely to be filled before expiry)

I've not written an API before, but I've been on the receiving end of them and this is based on what I've experienced. If there's a better way I'd love to hear it.
hero member
Activity: 994
Merit: 1000
Hunterbunter, great job on that tool.  Thanks for taking the time to create it.

Your tool has made it far more visible and a ton easier for others to directly donate BTC now, as well.

No worries Smiley, I've been quite pleasantly surprised how many people have been donating the last couple of days...I made a post on reddit which was well received too. I've put statistics up on the donate page, and at the moment there have been 25 donations put through, with a total of 0.782 btc being distributed in about 2.5 days.  2590 payments have made their way out as of yet. P2pool claims 28 hours average to find a block at the moment, so if my calculations are correct, that's a 0.3128 btc bonus per day, for 22.3 btc found per day, or a 1.4% across the board bonus payout for p2pool miners the last couple days.

Someone suggested putting an API in which other nodes can connect to, to add a donate function to their own frontends, which I think is a great idea.

legendary
Activity: 1386
Merit: 1004
Thanks again!  I am seeing small donations multiple times a day.

If you are not on p2p pool, you should be!
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
Hunterbunter, great job on that tool.  Thanks for taking the time to create it.

A number of us who run our own nodes have committed to donating the proceeds received from merged mining to p2pool miners.  So far, mdude77 has been the only one of us who's node found a block of BTC.  He setup a number of donation wallets for the merge-mined coins to which anyone can deposit.  He converts the NMC/IXC/DVC/FSC/I0C to BTC and then donates back to the pool.  Your tool has made it far more visible and a ton easier for others to directly donate BTC now, as well.
hero member
Activity: 994
Merit: 1000
Hey all, I just want to announce that I've added a p2pool donation tool to blisterpool, to help encourage people to mine on p2pool. You can find it here: http://blisterpool.com/p2pdonate

It doesn't do anything anyone can't do already, all you need is bitcoind and p2pool running to do it manually, and all I've done is compile the process to make it more convenient for those less technically inclined. As such, I don't charge a fee for the service, but you can leave a tip if you wish.

It's intended for two kinds of people:

1) Philanthropists who want to provide an extra incentive for people to use P2Pool, to protect the blockchain, and
2) Businesses who want to protect their assets by encouraging more decentralized mining, to better avert 51% attacks.

Someone on reddit mentioned they wanted a way to regularly pay a portion of their bitcoin profits (1% in their case), to encourage smaller / decentralized pool, which inspired me to make this tool.

Jump to: