polymesh-offline-signer

Crates.iopolymesh-offline-signer
lib.rspolymesh-offline-signer
version0.4.0
sourcesrc
created_at2023-09-13 18:54:40.956872
updated_at2024-05-07 18:34:28.563119
descriptionPolymesh offline signer CLI
homepagehttps://github.com/PolymeshAssociation/polymesh-api
repositoryhttps://github.com/PolymeshAssociation/polymesh-api
max_upload_size
id971791
size157,578
Adam Dossa (adamdossa)

documentation

README

Polymesh offline signer

Utility for offline signing of transaction for the Polymesh blockchain.

Usage

Install with cargo

cargo install polymesh-offline-signer

Prepare a transaction:

Preparing a transaction requires a Polymesh node to query the account nonce.

Command:

# Prepare a POLYX transfer from Alice to Bob.
polymesh-offline-signer prepare \
	-u ws://localhost:9944/ -a 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY \
	balance-transfer 5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty 1.0 >./prepared_tx.hex

The output is the prepared transaction in hex saved to file prepared_tx.hex.

0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d808d5b000400000088db578301a1f5b2556b84a148e489d7d41825265a9d1cf534d4cca8346977ba88db578301a1f5b2556b84a148e489d7d41825265a9d1cf534d4cca8346977ba0018000500008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4802093d00

Offline signing of the prepared transaction:

This signing step doesn't require any network connection.

Command:

# Use Alice's key to sign the transaction.
# The `prepared_tx.hex` file is the output from the "Prepare" step above.
polymesh-offline-signer offline-sign --suri //Alice ./prepared_tx.hex >./signed_tx.hex

The output is the signed transaction in hex saved to file signed_tx.hex.

0x35028400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01fe4c7ebb7fe01595e0d3d30d3f29167b0ef48c959bdec09729692549b71a8843726628ffd7108774ea90063a9ae178e603727175f8b3fe6d38092d3c09c228800018000500008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4802093d00

Submit the signed transaction for execution:

Submit the signed transaction and wait for it to be finalized.

Command:

# Submit the signed transaction to the network
# The `signed_tx.hex` file is the output from the "Offline signing" step above.
polymesh-offline-signer submit --finalized -u ws://localhost:9944/ ./signed_tx.hex

output:

In block: 0x45daf1b4a3d790d1b91b3ad2cd7d6ba100e71d0d753fb735b3df0db7384afc4c
Successful
Commit count: 263

cargo fmt