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.SymbolFacade import SymbolFacade

facade = SymbolFacade('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.transactionFactory.attachSignature(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.2.2.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

symbol_sdk_python-3.2.2-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for symbol_sdk_python-3.2.2.tar.gz
Algorithm Hash digest
SHA256 a46867bd7f4a485a8fff5b4091fd5154c011d71ae1c8e16af93e41efeac3829c
MD5 1651ec2e231936bf59adee11bf93f840
BLAKE2b-256 33cb3b6d59e21c9500f181d388dd1a7e0023e3665e541e380fc79ced7d770af2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for symbol_sdk_python-3.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f6d29a9bd2e301bf4d5a288af1d4707e9a46344d48cea58945680f32bfb2f949
MD5 8663811caba24a40d67b7896965131cf
BLAKE2b-256 6f5d28d15fced93164ed2e4c1eb2dae6a07c221734c922c6f87bee67a4491fa8

See more details on using hashes here.

Supported by

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