在Algorand网络中,每一次交易都需要付费。有两个组成部分:基础费用和交易费用。基础费用是确保网络稳定和安全所需的,而交易费用可以根据交易的大小和复杂性而变化。
对于单个原子交易,在进行多个签名时,每次签名都会增加交易大小和复杂度。因此,每个签名交易都需要付费。同时,由于交易是原子的,交易必须一次性执行完毕,否则交易将失败并失去付费。
下面是一个示例 Algorand 交易,其中包含单个原子交易的多个签名,并且需要为每个签名支付相应的交易费用:
from algosdk import algod, transaction
from algosdk.v2client import algod
from algosdk.future.transaction import PaymentTxn, Multisig
# Connect to Algorand node
algod_token = "your algod token here"
algod_address = "http://localhost:4001"
algod_client = algod.AlgodClient(algod_token, algod_address)
# Set sender, receiver, and multisig account addresses
sender = "your Algorand address here"
receiver = "receiver address here"
msig_address = "multisig address here"
# Set multisig account parameters
version = 1
threshold = 2
msig = Multisig(version, threshold, [addr1, addr2, addr3])
# Set transaction parameters
amt = 1000000 # amount to send
fee = algod_client.suggested_fee()
first_valid_round = algod_client.status()["lastRound"] + 1
last_valid_round = first_valid_round + 1000
gen_hash = algod_client.status()["lastestBlockHash"]
note = "single atomic transaction with multiple signatures"
tx = PaymentTxn(msig_address, fee, first_valid_round, last_valid_round, gen