def do(self, network, op): tx = Transaction(self.source, sequence=1) tx.add_operation(op) envelope = Te(tx, network_id=network) signer = Keypair.from_seed(self.seed) envelope.sign(signer) envelope_b64 = envelope.xdr() return envelope_b64
def do(self, network, opts): tx = Transaction(self.source, **opts) tx.add_operation(Inflation()) envelope = Te(tx, network_id=network) signer = Keypair.from_seed(self.seed) envelope.sign(signer) envelope_b64 = envelope.xdr() print(envelope_b64) return envelope_b64
def make_envelope(self, network, *args, **kwargs): opts = {'sequence': 2, 'fee': 100 * len(args)} for opt, value in kwargs.items(): opts[opt] = value tx = Transaction(self.address, **opts) for count, op in enumerate(args): tx.add_operation(op) envelope = Te(tx, network_id=network) signer = Keypair.from_seed(self.seed) envelope.sign(signer) envelope_b64 = envelope.xdr() print(envelope_b64) return envelope_b64
async def make_envelope(network, horizon, address, seed, *args, **kwargs): opts = { 'sequence': int((await horizon.account(address))['sequence']) + 1, 'fee': 100 * len(args) } for opt, value in kwargs.items(): opts[opt] = value tx = Transaction(address, **opts) for count, op in enumerate(args): tx.add_operation(op) envelope = Te(tx, network_id=network) signer = Keypair.from_seed(seed) envelope.sign(signer) envelope_xdr = envelope.xdr() return envelope_xdr
# See: https://www.stellar.org/developers/guides/issuing-assets.html from kin_base.keypair import Keypair from kin_base.asset import Asset from kin_base.builder import Builder # Keys for accounts to issue and receive the new asset issuing_secret = 'SCBHQEGSNBTT4S7Y73YAF3M3JSVSTSNBGAVU5M4XVFGUF7664EUXQHFU' issuing_public = Keypair.from_seed(issuing_secret).address().decode() receiving_secret = 'SB6MJ6M3BPJZUGFP2QCODUIKWQWF6AIN4Z6L3J6PWL3QGDW4L6YR3QIU' receiving_public = Keypair.from_seed(receiving_secret).address().decode() # Create an object to represent the new asset my_asset = Asset('Hello', issuing_public) # First, the receiving account must trust the asset builder = Builder(receiving_secret, network='TESTNET').append_trust_op( destination=my_asset.issuer, code=my_asset.code) builder.sign() resp = builder.submit() print(resp) # Second, the issuing account actually sends a payment using the asset builder = Builder(issuing_secret, network='TESTNET').append_payment_op( destination=receiving_public, amount='1000', asset_code=my_asset.code, asset_issuer=my_asset.issuer) builder.sign() resp = builder.submit()
from kin_base.keypair import Keypair from kin_base.asset import Asset from kin_base.operation import Payment, SetOptions from kin_base.transaction import Transaction from kin_base.transaction_envelope import TransactionEnvelope as Te from kin_base.memo import TextMemo from kin_base.horizon import horizon_testnet, horizon_livenet alice_seed = 'SBUORYV26AZ3ULEEC5FQ4NKPVRO7MBAWTW26YKCDPPKFGMK7WAYNX4UN' bob_address = 'GBZF7GQJXXHD3OL3B5IOUICFDYIATZZ3F3XQ7SOQ5PXLVQMDSOI5ACEE' Alice = Keypair.from_seed(alice_seed) horizon = horizon_testnet() # for TESTNET # horizon = horizon_livenet() # for LIVENET # create op payment_op = Payment( # source=Alice.address().decode(), destination=bob_address, asset=Asset('XLM'), amount='10.5') set_home_domain_op = SetOptions(home_domain='fed.network') # create a memo msg = TextMemo('Buy yourself a beer!') # get sequence of Alice # Python 3 sequence = horizon.account(Alice.address().decode('utf-8')).get('sequence') # Python 2
def test_from_seed(self): keypair = Keypair.from_seed(self.keypair0.seed()) assert self.keypair0.address() == keypair.address()
# https://www.stellar.org/developers/guides/concepts/multi-sig.html import time from kin_base.keypair import Keypair from kin_base.builder import Builder alice_seed = 'SDW74JLSQCDDJELC3S6EP4V4SGIM6MSFFVT73PMKIH4BAAJX6OZY4PCC' # GCDCDLVJNSLJWWHH2Q36IGBYZP6O6MFZOMXSW2DNBUCWKZDCRTIT73DP bob_seed = 'SCEQG2XD2HPDKBLIFHFT2CFC5FLOHNT2HNHTTPAXFXS6YDW4UCP57V2H' # GCNT7JJDVQ5ZAZ4OLHXUJPONYATFE5YOTRTKMPI2EQCGU2SK4QGCETJ5 dav_seed = 'SDE2CEJ3HMXPAO5TBKLRTV3WYI2DHIRQ6ZESKRMHEDLCOHLCZPU3TFPH' # GCPITREYLKN3WHVPYBM7SNW2V7ZPYYPZHARPBWEC3XTZASUI3MGFYLWF eve_address = 'GDQ6L5ULMQPY5S363O7HXALMVIQ4OLS4PZJSPRF6R4FC5QMX2BJFJYX7' alice_kp = Keypair.from_seed(alice_seed) bob_kp = Keypair.from_seed(bob_seed) dav_kp = Keypair.from_seed(dav_seed) def setup_threshold(): builder = Builder(dav_seed).append_set_options_op( source=dav_kp.address().decode(), high_threshold=3, med_threshold=3, low_threshold=3, master_weight=1, signer_type='ed25519PublicKey', signer_weight=1, signer_address=alice_kp.address().decode()).append_set_options_op( source=dav_kp.address().decode(), signer_type='ed25519PublicKey', signer_weight=1, signer_address=bob_kp.address().decode( )) # append more signers here