def _send_or_simulate(tx: Transaction, args: Any): if args.send: tx.send(ElrondProxy(args.proxy)) return None elif args.simulate: response = tx.simulate(ElrondProxy(args.proxy)) return response
def main(): pem_file_name = "walletKey.pem" pem_path = "~/Elrond/testnet/filegen/output" pem_file = path.join(pem_path, pem_file_name) parser = ArgumentParser() parser.add_argument("--proxy", default="http://localhost:7950") args = parser.parse_args() shard0_index = get_index_by_shard_id(pem_file, 0) shard1_index = get_index_by_shard_id(pem_file, 1) logging.basicConfig(level=logging.DEBUG) proxy = ElrondProxy(args.proxy) network = proxy.get_network_config() alice = Account(pem_file=pem_file, pem_index=shard0_index) bob = Account(pem_file=pem_file, pem_index=shard1_index) bob.sync_nonce(proxy) innerTx = Transaction() innerTx.nonce = bob.nonce innerTx.value = "0" innerTx.sender = bob.address.bech32() innerTx.receiver = "erd1qqqqqqqqqqqqqpgqrchxzx5uu8sv3ceg8nx8cxc0gesezure5awqn46gtd" # shard 2 address innerTx.gasPrice = 1000000000 innerTx.gasLimit = 500000000 innerTx.chainID = network.chain_id innerTx.version = network.min_tx_version innerTx.data = "version" innerTx.sign(bob) alice.sync_nonce(proxy) wrapperTx = Transaction() wrapperTx.nonce = alice.nonce wrapperTx.value = "0" wrapperTx.sender = alice.address.bech32() wrapperTx.receiver = bob.address.bech32() wrapperTx.gasPrice = 1000000000 wrapperTx.gasLimit = 501109000 wrapperTx.chainID = network.chain_id wrapperTx.version = network.min_tx_version wrapperTx.wrap_inner(innerTx) wrapperTx.sign(alice) wrapperTx.send(proxy)
def _send_or_simulate(tx: Transaction, args: Any): send_wait_result = args.wait_result and args.send and not args.simulate send_only = args.send and not (args.wait_result or args.simulate) simulate = args.simulate and not (send_only or send_wait_result) if send_wait_result: proxy = ElrondProxy(args.proxy) response = tx.send_wait_result(proxy, args.timeout) return None elif send_only: tx.send(ElrondProxy(args.proxy)) return None elif simulate: response = tx.simulate(ElrondProxy(args.proxy)) return response
def tx1(): tx1 = Transaction() tx1.nonce = getNonce() tx1.value = sendAmount1 tx1.sender = sender tx1.receiver = wallet1 tx1.gasPrice = 1000000000 tx1.gasLimit = 50000 tx1.data = "" tx1.chainID = "D" # Currently set to the Devnet Chain tx1.version = 1 tx1.sign(account) proxy1 = ElrondProxy("https://devnet-api.elrond.com") tx1.send(proxy1) print("Sent " + sendAmount1 + " to " + wallet1)
def send_one_tx(proxy: ElrondProxy, sender: Account, receiver_address: str): tx = Transaction() tx.nonce = sender.nonce tx.value = "20000000000000000" # 0.02 ERD tx.sender = sender.address.bech32() tx.receiver = receiver_address tx.gasPrice = 1000000000 tx.gasLimit = 50000 tx.data = "" tx.chainID = config.get_chain_id() tx.version = config.get_tx_version() tx.signature = signing.sign_transaction(tx, sender) tx.send(proxy) global counter counter += 1 print(f"Sent transaction #{counter}, with nonce = {tx.nonce}.")
def send_or_simulate(tx: Transaction, args: Any): if args.send: tx.send(ElrondProxy(args.proxy)) elif args.simulate: response = tx.simulate(ElrondProxy(args.proxy)) utils.dump_out_json(response)