中文版本:《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: