Skip to main content

Symbol SDK

Project description

Symbol-SDK

lint test vectors

Python SDK for interacting with the Symbol and NEM blockchains.

Most common functionality is grouped under facades so that the same programming paradigm can be used for interacting with both Symbol and NEM.

Sending a Transaction

To send a transaction, first create a facade for the desired network:

Symbol

from symbolchain.CryptoTypes import PrivateKey
from symbolchain.facade.SymbolFacade import SymbolFacade


facade = SymbolFacade('testnet')

NEM

from symbolchain.CryptoTypes import PrivateKey
from symbolchain.facade.NemFacade import NemFacade

facade = NemFacade('testnet')

Second, describe the transaction using a Python dictionary. For example, a transfer transaction can be described as follows:

Symbol

transaction = facade.transaction_factory.create({
	'type': 'transfer_transaction_v1',
	'signer_public_key': '87DA603E7BE5656C45692D5FC7F6D0EF8F24BB7A5C10ED5FDA8C5CFBC49FCBC8',
	'fee': 1000000,
	'deadline': 41998024783,
	'recipient_address': 'TCHBDENCLKEBILBPWP3JPB2XNY64OE7PYHHE32I',
	'mosaics': [
		{'mosaic_id': 0x7CDF3B117A3C40CC, 'amount': 1000000}
	]
})

NEM

transaction = facade.transaction_factory.create({
	'type': 'transfer_transaction_v1',
	'signer_public_key': 'A59277D56E9F4FA46854F5EFAAA253B09F8AE69A473565E01FD9E6A738E4AB74',
	'fee': 0x186A0,
	'timestamp': 191205516,
	'deadline': 191291916,
	'recipient_address': 'TALICE5VF6J5FYMTCB7A3QG6OIRDRUXDWJGFVXNW',
	'amount': 5100000
})

Third, sign the transaction and attach the signature:

private_key = PrivateKey('EDB671EB741BD676969D8A035271D1EE5E75DF33278083D877F23615EB839FEC')
signature = facade.sign_transaction(facade.KeyPair(private_key), transaction)

json_payload = facade.transaction_factory.attach_signature(transaction, signature)

Finally, send the payload to the desired network using the specified node endpoint:

Symbol: PUT /transactions
NEM: POST /transaction/announce

NEM Cheat Sheet

In order to simplify the learning curve for NEM and Symbol usage, the SDK uses Symbol terminology for shared Symbol and NEM concepts. Where appropriate, NEM terminology is replaced with Symbol terminology, including the names of many of the NEM transactions. The mapping of NEM transactions to SDK descriptors can be found in the following table:

NEM name (used in docs) SDK descriptor name
ImportanceTransfer transaction account_key_link_transaction_v1
MosaicDefinitionCreation transaction mosaic_definition_transaction_v1
MosaicSupplyChange transaction mosaic_supply_change_transaction_v1
MultisigAggregateModification transaction multisig_account_modification_transaction_v1
multisig_account_modification_transaction_v2
MultisigSignature transaction or Cosignature transaction cosignature_v1
Multisig transaction multisig_transaction_v1
ProvisionNamespace transaction namespace_registration_transaction_v1
Transfer transaction transfer_transaction_v1
transfer_transaction_v2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

symbol_sdk_python-3.3.1.tar.gz (64.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

symbol_sdk_python-3.3.1-py3-none-any.whl (77.7 kB view details)

Uploaded Python 3

File details

Details for the file symbol_sdk_python-3.3.1.tar.gz.

File metadata

  • Download URL: symbol_sdk_python-3.3.1.tar.gz
  • Upload date:
  • Size: 64.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.12 Linux/6.5.0-1017-aws

File hashes

Hashes for symbol_sdk_python-3.3.1.tar.gz
Algorithm Hash digest
SHA256 389474243f13c207f58e867648d971d3dbcf8c65330356602161d35b1b38615d
MD5 b7e533451febe8f5632c199afdd7627a
BLAKE2b-256 09c2485d2b88c4b1de1dd4be6c1910c43fedae431f001861851d1abc503f1a73

See more details on using hashes here.

File details

Details for the file symbol_sdk_python-3.3.1-py3-none-any.whl.

File metadata

  • Download URL: symbol_sdk_python-3.3.1-py3-none-any.whl
  • Upload date:
  • Size: 77.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.12 Linux/6.5.0-1017-aws

File hashes

Hashes for symbol_sdk_python-3.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 674a1f20ab1e1788627283a548d1e97b89a5ac1df0adc01b0f704fcfd0b752c6
MD5 8e3ae7db1cdaf8a8dc0be3eb131a2fcd
BLAKE2b-256 3ad36d402ea5b026fb5b087e54ae1d81f7bad05f274c897a9b4badd8e578372d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page