创建账户

你需要通过 CreateAccount 操作来创建 Stellar 中的账户。 由于 恒星网络对账户有着最低持币要求, 所以你需要给待激活账户发送一定数量的 XLM。当前这个数量是 1 XLM (2 x 0.5 Base Reserve),它可能会变化,但是通常很长时间才会变动一次,所以你可以将它视为一个固定值。

使用测试网络

如果你想在测试网络中进行测试,你可以通过 Friendbot 来激活你的帐号。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import requests

from stellar_sdk import Keypair

keypair = Keypair.random()

print("Public Key: " + keypair.public_key)
print("Secret Seed: " + keypair.secret)

url = 'https://friendbot.stellar.org'
response = requests.get(url, params={'addr': keypair.public_key})
print(response)

使用公共网络

如果你想在公共网络中创建一个账户的话,你可以让你的朋友给你发送一些 XLM,也可以在交易所购买一些, 当你从交易所提取 XLM 到一个新账户时,交易所一般会帮你创建好这个账户。如果你想使用你的账户创建另外一个账户的话,可以参考下面的代码。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from stellar_sdk import TransactionBuilder, Server, Network, Keypair

server = Server(horizon_url="https://horizon-testnet.stellar.org")
source = Keypair.from_secret("SBFZCHU5645DOKRWYBXVOXY2ELGJKFRX6VGGPRYUWHQ7PMXXJNDZFMKD")
destination = Keypair.random()

source_account = server.load_account(account_id=source.public_key)
transaction = TransactionBuilder(
    source_account=source_account,
    network_passphrase=Network.TESTNET_NETWORK_PASSPHRASE,
    base_fee=100) \
    .append_create_account_op(destination=destination.public_key, starting_balance="12.25") \
    .build()
transaction.sign(source)
response = server.submit_transaction(transaction)
print("Transaction hash: {}".format(response["hash"]))
print("New Keypair: \n\taccount id: {account_id}\n\tsecret seed: {secret_seed}".format(
    account_id=destination.public_key, secret_seed=destination.secret))