Polkadot: как подписать Extrinsics в python? - PullRequest
0 голосов
/ 12 февраля 2020

Благодаря py-substrate-interface я могу создавать внешние элементы с помощью чего-то вроде:

payload = substrate.compose_call(
    call_module='Balances',
    call_function='transfer',
    call_params={
        'dest': 'EaG2CRhJWPb7qmdcJvy3LiWdh26Jreu9Dx6R1rXxPmYXoDk',
        'value': 1000000000000
    }
)

Тогда я также могу видеть rpc_request и ws_request в их документацию , которую я предположим, что я могу использовать для трансляции подписанный extrinsi c.

Пропущенным шагом будет подпись extrinsi c. Кто-нибудь знает, как это сделать в python?

1 Ответ

0 голосов
/ 26 февраля 2020

В настоящее время подпись (пока) невозможна непосредственно из библиотеки 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)

Надеюсь, это поможет!

...