Author Topic: Bitshares Faucet Request for Proposal [1000 PTS]  (Read 18016 times)

0 Members and 1 Guest are viewing this topic.

Offline cass

  • Hero Member
  • *****
  • Posts: 4311
  • /(┬.┬)\
    • View Profile
yes - work is in progress - stay tuned
█║▌║║█  - - -  The quieter you become, the more you are able to hear  - - -  █║▌║║█

Offline archit

  • Full Member
  • ***
  • Posts: 161
    • View Profile

Offline mauritso

  • Full Member
  • ***
  • Posts: 64
    • View Profile
Just listened to today's mumble session that I've recorded this morning.

I like the referral program idea, I think it can be even more effective if combined with social media campaign.
Here is an example how it can look like:
When somebody fills up a form at Faucet he or she gets redirected to congratulation page, this page should have a clear message - "Share on social media (Twitter, FB) and get some more shares, also you friends would have an opportunity to receive extra shares". And there should be social media share buttons that takes directly to social networks share pages.

Or another variant, visitor can be required to login to Faucet via social network of his choice (this can also can be used to limit multiple signups from the same user instead of using phone number), after he signs up a popup dialog can ask for permission to post a story to his social network feed.

SMS or Social media account in that case.
I would also like to see the option to register your name for "free" (paid by the faucet), without SMS or a social media account, no initial balance, just free registration (to make it not that attractive to people trying to game the system while giving privacy minded people an option to register for free).

Please use the registered in the blockchain names as the basis for the refferal URLs, I think it is best to use the least possible amount of additional databases on top of the bitshares x blockchain.
BTS: maurits

Offline valzav

  • Sr. Member
  • ****
  • Posts: 294
    • View Profile
Just listened to today's mumble session that I've recorded this morning.

I like the referral program idea, I think it can be even more effective if combined with social media campaign.
Here is an example how it can look like:
When somebody fills up a form at Faucet he or she gets redirected to congratulation page, this page should have a clear message - "Share on social media (Twitter, FB) and get some more shares, also you friends would have an opportunity to receive extra shares". And there should be social media share buttons that takes directly to social networks share pages.

Or another variant, visitor can be required to login to Faucet via social network of his choice (this can also can be used to limit multiple signups from the same user instead of using phone number), after he signs up a popup dialog can ask for permission to post a story to his social network feed.
« Last Edit: June 08, 2014, 06:19:20 am by valzav »

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
Some more details on this particular project:

The goal is only one per person.   
I want to add SMS verification.
I want to add Referral Rewards
I want to integrate this service with our wallet.

The service should not store email addresses after sending emails, only the hash of the email addresses.

The factors that prove uniqueness:
1) email
2) phone
3) gravatar account

If someone wants to fake all 3 then that is fine.

I would like to support finding friends on Google / Facebook for 'automatic referral'.

So if someone you refer ends up signing up you get a bonus.     

Now we have financial incentive for people to sign up unique individuals and to refer their friends.   

New users will be able to use our DACs without ever having to see or know about the existence of public keys / private keys.

 +5%
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline peterzz

  • Newbie
  • *
  • Posts: 15
    • View Profile

The from items:
1.public key (if clicked by BTS wallet,that wallet will give a public key added to URL,so don't need input this field.)
2.account name
3.email ( a tips must has the gravatar account, we will get that gravatar image)
4.mobile phone number(send button and a SMS verification input field)
5.provide a page embed in BTS web wallet and use JSON-RPC API.(same to website)

Other points:
1.don't limit IP address.
2.if users clicked by email,show a tips on page top, share to friend by a share plugin ( http://www.sharethis.com/get-sharing-tools/ ) . if finish that from will give a bonus to reference user.
3."automatic referral" may be AntiSPAM by google/facebook.
3.use the bitshares email server to send email to users.
4.SMS service fee pays by bitshares.

Offline mauritso

  • Full Member
  • ***
  • Posts: 64
    • View Profile
Haven't really gotten anywhere, stuck on the communicating with the API part.

I can get data from bitcoind (curl, php library and python library)
The web wallet (which works trough RPC) works
Parse error if it is a correct method (getinfo)
404 if it is an incorrect method (getinfod)

It's driving me a bit crazy at this point, it this the kind of question I can ask in technical support (on how to do this correctly)?

I think the URL you require is     IP:PORT/rpc

Bitcoin doesn't have the '/rpc' part.

http://user:pass@127.0.0.1:port/rpc

Is what I used, when I got there the error changed to parsing error and I consistently got a 404 when providing a not existing method.

Alright, got it, works with curl now (didn't before, even with /rpc), still don't know what caused it, but using the json http port of the bitshares client + a working web wallet (which is accessible on that port) + using curl seems to work. Still can't get anywhere with PHP but at least it works with curl.

Still can't get it to work with python/php. I think I"ll open a thread in technical support about this.

As I have not really gotten anything done and I was just trying to learn a tip would be nice but certainly not necessary.
« Last Edit: June 07, 2014, 02:33:34 pm by mauritso »
BTS: maurits

Offline itnom

  • Full Member
  • ***
  • Posts: 64
    • View Profile
    • Bitsapphire - The web development group that makes disruptive startups happen
Makes sense. We're open to sole-sourcing.

We haven't started working on it beyond looking how we would do it (PHP, codeigniter, MySQL, normal frontend). Looks like at least mauritso may have already started doing some work.
Back our bid as a BitShares Delegate! http://bitsapphire.com/Bitshares-Delegate

wallet_approve_delegate bitsapphire true

Offline mauritso

  • Full Member
  • ***
  • Posts: 64
    • View Profile
Haven't really gotten anywhere, stuck on the communicating with the API part.

I can get data from bitcoind (curl, php library and python library)
The web wallet (which works trough RPC) works
Parse error if it is a correct method (getinfo)
404 if it is an incorrect method (getinfod)

It's driving me a bit crazy at this point, it this the kind of question I can ask in technical support (on how to do this correctly)?

I think the URL you require is     IP:PORT/rpc

Bitcoin doesn't have the '/rpc' part.

http://user:pass@127.0.0.1:port/rpc

Is what I used, when I got there the error changed to parsing error and I consistently got a 404 when providing a not existing method.
BTS: maurits

Offline bytemaster

Haven't really gotten anywhere, stuck on the communicating with the API part.

I can get data from bitcoind (curl, php library and python library)
The web wallet (which works trough RPC) works
Parse error if it is a correct method (getinfo)
404 if it is an incorrect method (getinfod)

It's driving me a bit crazy at this point, it this the kind of question I can ask in technical support (on how to do this correctly)?

I think the URL you require is     IP:PORT/rpc

Bitcoin doesn't have the '/rpc' part.

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 mauritso

  • Full Member
  • ***
  • Posts: 64
    • View Profile
Haven't really gotten anywhere, stuck on the communicating with the API part.

I can get data from bitcoind (curl, php library and python library)
The web wallet (which works trough RPC) works
Parse error if it is a correct method (getinfo)
404 if it is an incorrect method (getinfod)

It's driving me a bit crazy at this point, it this the kind of question I can ask in technical support (on how to do this correctly)?

« Last Edit: June 07, 2014, 01:48:34 pm by mauritso »
BTS: maurits

Offline bytemaster

Hello,

Looks like this could be an interesting intro project.

Last time we've checked one of the bounties (the initial website bounty) my team was put off by the bounty approach (and several other issues) so we backed off. We think that the wide-open bounty approach is not agile and discourages pre-existing professional teams from participating. 3rd party products which are build on top of 3I products are crucial to the 3I ecosystem and need to be build in an agile manner. Block explorers, faucets, browser extensions, etc are the equivalent of "launch titles" for gaming consoles or an app ecosystem for mobile phones, they make or break the underlying technology. Development bounties without assurances don't fit the bill. The current kind of bounties are also not scalable, you have to micromanage too much, maybe even outsource bounty oversight.

That said, we think that we can build the faucet with email and gravatar verification + reasonable spam protection in a week. We haven't worked with the Bitshares toolkit RPC yet, so that might need a few days to get used to. The whole thing should take at most 2 weeks, with professional design and security (nobody wants this scenario http://gavintech.blogspot.com/2012/03/bitcoin-faucet-hacked.html).

Our monthly  (4 weeks) rate for a 3 person team (1 designer/frontend, 1 frontend/backend, 1 backend) is 9400 USD total (we're in South Eastern Europe). This means that our 2 week estimate amounts to 4700 USD in development costs for this faucet. Most of our portfolio is whitelabel deals so if you're interested to see it PM me. We have won security bug bounties for Google, Nokia, Microsoft, ebay, etc, so we are very security focused. We don't do waterfall or fixed price/scope development, only agile development. We understand that requirements change over time (just as in this case sms verification was added), therefore we do only contract work.

However, we understand that 3I needs to be transparent about bounties so we're proposing a 1 week sprint escrow contract through bitrated (https://www.bitrated.com/) (multisig arbitration). The product owner, meaning somebody from I3 in charge of the project creates a list of features he wants to see in the product. Our team then creates high level user stories out of them. The product owner rates the user stories on a list of 1-10 on importance (the broader community could do this rating too via the forum). We multiply each user story rating with the development time it takes * cost per day. This way I3 and the broader community have a clear picture of the cost breakdown and ROI per feature. Our team then creates a weekly sprint backlog out of those user stories which are chosen to be the highest ROI. The development cost is locked in USD in bitcoin and put into a multisig transaction through https://www.bitrated.com/ at the beginning of the sprint. The transaction only goes through when all user stories are met according to specs. Any potential dispute can be settled through a 3rd party.

This way when feature creep happens (which is normal) the team developing the product won't be be helpless and the product owner can add to the backlog the additional feature to future weekly sprints.

We believe this is the best way to ensure high quality products at a low cost, and transparent to the community. This is also the only way we could think of for 3I how to scale the bounty system and get more professional teams on board.

Bounties without assurance might look tempting for the client, but they keep the good teams away. You might get good individuals from time to time, but teams need real assurance.

All that said, we're PTS stakeholders so keep the good work up!

Ok... I think I agree with your points about bounties.   I think I would like to sole-source this effort but need to evaluate my options.  Some of you have already started some work, could you please post your progress and we can send some tips your way.    Then we can use this thread to establish the requirements and move forward from there.
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 gamey

  • Hero Member
  • *****
  • Posts: 2253
    • View Profile

Yea this would be a fun thing to write but bounties are a mess.

You can buy SMS's real cheap.  I think I paid like $10 for 10k of them.  If anyone wants the service I can tell you the one I used.  I just embedded the code into the URL.  This means if someone has an old phone they'll see a url instead of a code to enter into a page.  For all modern phones it would be easier.

These SMS services don't necessarily work with foreign #s AFAIK.  It needs to be decided at what locales this is going to work at.

You also need to hash the phone # I would suspect, but a third party would have a permanent record of it.

You can also send SMS's via emails if the person tells you their number and their provider.

I speak for myself and only myself.

Offline mauritso

  • Full Member
  • ***
  • Posts: 64
    • View Profile
I think I will start working on it after I got some sleep (~12 hours from now), given that there is no-one else who already started working and updated us by that time. If I start with creating functions for validation and calling the RPC API then it would be easy for other people to use.

Nice draft...

Just make sure that every 'form' also comes with a JSON-RPC API call that we can issue from the wallet GUI without having to use your website interface.

No captcha's. 



Thanks I guess, hope it can be of some use.

BTS: maurits

Offline itnom

  • Full Member
  • ***
  • Posts: 64
    • View Profile
    • Bitsapphire - The web development group that makes disruptive startups happen
Hello,

Looks like this could be an interesting intro project.

Last time we've checked one of the bounties (the initial website bounty) my team was put off by the bounty approach (and several other issues) so we backed off. We think that the wide-open bounty approach is not agile and discourages pre-existing professional teams from participating. 3rd party products which are build on top of 3I products are crucial to the 3I ecosystem and need to be build in an agile manner. Block explorers, faucets, browser extensions, etc are the equivalent of "launch titles" for gaming consoles or an app ecosystem for mobile phones, they make or break the underlying technology. Development bounties without assurances don't fit the bill. The current kind of bounties are also not scalable, you have to micromanage too much, maybe even outsource bounty oversight.

That said, we think that we can build the faucet with email and gravatar verification + reasonable spam protection in a week. We haven't worked with the Bitshares toolkit RPC yet, so that might need a few days to get used to. The whole thing should take at most 2 weeks, with professional design and security (nobody wants this scenario http://gavintech.blogspot.com/2012/03/bitcoin-faucet-hacked.html).

Our monthly  (4 weeks) rate for a 3 person team (1 designer/frontend, 1 frontend/backend, 1 backend) is 9400 USD total (we're in South Eastern Europe). This means that our 2 week estimate amounts to 4700 USD in development costs for this faucet. Most of our portfolio is whitelabel deals so if you're interested to see it PM me. We have won security bug bounties for Google, Nokia, Microsoft, ebay, etc, so we are very security focused. We don't do waterfall or fixed price/scope development, only agile development. We understand that requirements change over time (just as in this case sms verification was added), therefore we do only contract work.

However, we understand that 3I needs to be transparent about bounties so we're proposing a 1 week sprint escrow contract through bitrated (https://www.bitrated.com/) (multisig arbitration). The product owner, meaning somebody from I3 in charge of the project creates a list of features he wants to see in the product. Our team then creates high level user stories out of them. The product owner rates the user stories on a list of 1-10 on importance (the broader community could do this rating too via the forum). We multiply each user story rating with the development time it takes * cost per day. This way I3 and the broader community have a clear picture of the cost breakdown and ROI per feature. Our team then creates a weekly sprint backlog out of those user stories which are chosen to be the highest ROI. The development cost is locked in USD in bitcoin and put into a multisig transaction through https://www.bitrated.com/ at the beginning of the sprint. The transaction only goes through when all user stories are met according to specs. Any potential dispute can be settled through a 3rd party.

This way when feature creep happens (which is normal) the team developing the product won't be be helpless and the product owner can add to the backlog the additional feature to future weekly sprints.

We believe this is the best way to ensure high quality products at a low cost, and transparent to the community. This is also the only way we could think of for 3I how to scale the bounty system and get more professional teams on board.

Bounties without assurance might look tempting for the client, but they keep the good teams away. You might get good individuals from time to time, but teams need real assurance.

All that said, we're PTS stakeholders so keep the good work up!
Back our bid as a BitShares Delegate! http://bitsapphire.com/Bitshares-Delegate

wallet_approve_delegate bitsapphire true