Polkadot: как подписать Extrinsics в Python?
Благодаря py-substrate-interface
Я могу создавать внешние элементы примерно так:
payload = substrate.compose_call(
call_module='Balances',
call_function='transfer',
call_params={
'dest': 'EaG2CRhJWPb7qmdcJvy3LiWdh26Jreu9Dx6R1rXxPmYXoDk',
'value': 1000000000000
}
)
Тогда я также могу увидеть rpc_request
а также ws_request
в их документации, которую, как я полагаю, я могу использовать для трансляции подписанного внешнего.
Недостающим шагом будет подписание внешнего. Кто-нибудь знает, как это сделать на питоне?
1 ответ
На данный момент подписание невозможно (пока) непосредственно из библиотеки Python, но вы можете попробовать передать полезную нагрузку вызова из compose_call()
функция для subkey
команда (https://substrate.dev/docs/en/ecosystem/subkey), например:
subkey sign-transaction --call "0x200400011074657374" --nonce 0 --suri "<secret_seed_or_words>" --password "" --prior-block-hash 0xdcd1346701ca8396496e52aa2785b1748deb6db09551b72159dcb3e08991025b
Ты можешь использовать subprocess.run
в Python, чтобы получить результат subkey
из вашего кода Python (https://docs.python.org/3/library/subprocess.html)
Надеюсь это поможет!