Beempy creates a new steem account by using the pending claimed accounts collected by RC

in #hive-1809328 months ago

中文版本:《beempy 利用RC领取的新号资源创建steem 新号》

Although we are doing the steem-python practical training recently, but steem-python do not support using the pending claimed accounts collected by RC to create a new steem account, so we need to use beempy.

coding as the follow demo(create_account_with_RC.py):

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# python create_account_with_RC.py creator account

from contextlib import suppress
import sys
import json

# from beem import Steem
from beem.account import Account
from beem.instance import shared_steem_instance
from beemgraphenebase.account import BrainKey, PasswordKey

def run():

    # need creator and  name of the new account
    try:
        creator = sys.argv[1]
        account = sys.argv[2]
    except Exception as e:
        sys.exit()
    print('creator:', creator)
    print('account:', account)

    # gen a set of keys
    bk = BrainKey()
    brainkey = bk.get_brainkey()
    print('brain key:', str(brainkey))
    prikey = str(bk.get_private())
    print('private key:', str(prikey))
    pubkey = format(bk.get_public(), "STM")
    print('public key:', str(pubkey))

    # unlock local wallet
    stm = shared_steem_instance()
    stm.wallet.unlock(password)

    try:
        # Account of creator
        creatorA = Account(creator, steem_instance=stm)
        # test the new account is exist on steem blockchain?
        accountA = Account(account, steem_instance=stm)
    except Exception as e:
        print('account can be created:', account)

    # create new account
    tx = stm.create_claimed_account(account, creator=creatorA, password=pubkey)
    print('create_claimed_account:', json.dumps(tx, indent=4))

    # get keys
    posting_key = PasswordKey(account, pubkey, role="posting", prefix=stm.prefix)
    active_key = PasswordKey(account, pubkey, role="active", prefix=stm.prefix)
    memo_key = PasswordKey(account, pubkey, role="memo", prefix=stm.prefix)
    owner_key = PasswordKey(account, pubkey, role="owner", prefix=stm.prefix)
    # get publick keys
    # active_pubkey = active_key.get_public_key()
    # owner_pubkey = owner_key.get_public_key()
    # posting_pubkey = posting_key.get_public_key()
    memo_pubkey = memo_key.get_public_key()
    # get private keys
    active_privkey = active_key.get_private_key()
    posting_privkey = posting_key.get_private_key()
    owner_privkey = owner_key.get_private_key()
    memo_privkey = memo_key.get_private_key()

    print('posting_privkey:', str(posting_privkey))
    print('active_privkey:', str(active_privkey))
    print('owner_privkey:', str(owner_privkey))
    print('memo_privkey:', str(memo_privkey))


if __name__ == '__main__':
    with suppress(KeyboardInterrupt):
        run()

Run it:python create_account_with_RC.py dappcoder newcoder
Results consistent with expectations:
屏幕快照 2020-02-14 上午12.50.30.png

Sort:  

Congratulations @dappcoder! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 2000 upvotes. Your next target is to reach 3000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

Valentine's day challenge - Give a badge to your beloved!
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
 8 months ago Reveal Comment