Solutions for HF20

in #utopian-io6 years ago (edited)

After a short discussion with @fyrstikken about the problems with getting accounts created with out onboarding Cybil I decided to code one possible solution with @markegiles.

I forked @yabapmatt's postpromoter and added the following lines in the post validator to give the simplest API to create accounts from claimed accounts.

if (memo.startsWith('DACR')) {
    // check number of accounts to issue > 0 => send same transaction to affiliate if 0
    // check blacklist for spammy account creators
    // sender UA score to determine fee
    // parse memo for username and public keys and email / phone
    var activePubkey = memo.substring(memo.indexOf("a:")+2,memo.indexOf(';m:'));
    var memoPubkey = memo.substring(memo.indexOf("m:")+2,memo.indexOf(';o:'));
    var ownerPubkey = memo.substring(memo.indexOf("o:")+2,memo.indexOf(';p:'));
    var postingPubkey = memo.substring(memo.indexOf("p:")+2,memo.indexOf(';u:'));
    var username = memo.substring(memo.indexOf("u:")+2,memo.lastIndexOf(';'));
    const create_op = [
      'create_claimed_account',
      {
        active: dsteem.Authority.from(activePubkey),
        creator: config.account,
        extensions: [],
        json_metadata: '',
        memo_key: memoPubkey,
        new_account_name: username,
        owner: dsteem.Authority.from(ownerPubkey),
        posting: dsteem.Authority.from(postingPubkey),
      },
    ];
    client.broadcast.sendOperations([create_op], dsteem.PrivateKey.fromString(config.active_key)).then(function(result) {
        if(result.err){
        utils.log(`Discounted Account:@${username} failed to create`);
        refund(sender, amount, currency, `@${username} failed to create :(`);
        return;
        } else {
            utils.log(`Discounted Account:@${username} created at the request of ${sender}`);
            refund(sender, amount, currency, `@${username} created!`);
            return;
        }
    });
}

Next steps are to write a check for number of claimed accounts available to issue, this would rely on several people operating in an account market.

I think people that operate bid bots with this extension should subscribe to UA data to set the price of an account at the full price minus the some multiple of the senders UA score plus a transaction fee. As well as maintaining a black list for spammy accounts.

An interesting concept behind phone number verification. The same could also be applied to email data.

The front end for this lives behind a link like dlux. io/i?ref=disregardfiat

Which will display this after it is linked or scanned:

small.er.png
Open source on glitch
Which will generate a QR code with a hot signing link for the ref-ing account.
Probably much more prompting about screen capturing their password and saving it.

qrsasd.png

image0.png

image0 2.png

This allows face to face verification and on-boarding. Ultimately, invaluable for on-boarding new users.

Sort:  

This is slick. Not sure why this isn't on trending.

Because I didn't pay for it :p

Hello @disregardfiat, can you please correct your hasht tag 'developement' to 'development' to make it appear on Utopian development moderators review list? Thanks.

Although I'm not sure if you intended to be reviewed as a development contribution because they follow a certain template.

Whoopsies... fixed. I looked for the template and couldn't find it. link?

  1. Guidelines
  2. Template

Development contributions can be on own projects or accepted PRs to other projects as long as they're open source.

Nice post resteemed.

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64029.44
ETH 3157.04
USDT 1.00
SBD 4.02