DEPRECATED. Please use the new Python SDK py-vsys instead.
A python wrapper for vsys api.
For more detail, please refer:
PYVSYSTEMS User Guide Specification (English)
Library can be pulled via pip directly:
git+https://github.com/virtualeconomy/pyvsystems.git
Or:
- clone the repo under you workspace
git clone https://github.com/virtualeconomy/pyvsystems.git
- install the package
pip3 install pyvsystems/.
- Then you can
import pyvsystems
in your workspace
-
For testnet:
import pyvsystems as pv ts_chain = pv.testnet_chain()
-
For default chain:
import pyvsystems as pv main_chain = pv.default_chain()
-
For custom api node:
import pyvsystems as pv # you can set the request timeout custom_wrapper = pv.create_api_wrapper('http://<full node ip>:9922', api_key='', timeout=None) ts_chain = pv.testnet_chain(custom_wrapper)
-
For completely custom chain:
import pyvsystems as pv custom_wrapper = pv.create_api_wrapper('http://<full node ip>:9922', api_key='', timeout=None)) t_chain = pv.Chain(chain_name='testnet', chain_id='T', address_version=5, api_wrapper=custom_wrapper) custom_wrapper2 = pv.create_api_wrapper('http://<full node ip>:9922', api_key='', timeout=None)) m_chain = pv.Chain(chain_name='mainnet', chain_id='M', address_version=5, api_wrapper=custom_wrapper2) custom_wrapper3 = pv.create_api_wrapper('http://<full node ip>:9922', api_key='', timeout=None)) c_chain = pv.Chain(chain_name='mychain', chain_id='C', address_version=1, api_wrapper=custom_wrapper3)
-
look up current block height of the chain:
ts_chain.height()
-
look up the last block info of the chain:
ts_chain.lastblock()
-
look up a block info at n in the chain:
ts_chain.block(n)
-
Get a transaction info by transacion id in the chain:
ts_chain.tx(tx_id)
-
Validate an address of the chain:
ts_chain.validate_address(addr)
- constructed by seed
from pyvsystems import Account my_address = Account(chain=ts_chain, seed='<your seed>', nonce=0)
- constructed by private key
from pyvsystems import Account my_address = Account(chain=ts_chain, private_key='<your base58 private key>')
- constructed by public key
from pyvsystems import Account recipient = Account(chain=ts_chain, public_key='<base58 public key>')
- constructed by wallet address
from pyvsystems import Account recipient = Account(chain=ts_chain, address='<base58 wallet address>')
- Get balance
# get balance balance = my_address.balance() print("The balance is {}".format(balance)) # get balance after 16 confirmations balance = my_address.balance(confirmations = 16) print("The balance is {}".format(balance))
- Send payment transaction
# send payment (100000000 = 1 VSYS) my_address.send_payment(recipient, amount=100000000)
- Send and cancel lease transaction
# send lease (100000000 = 1 VSYS) response = my_address.lease(recipient, amount=100000000) tx_id = response["id"] # cancel lease my_address.lease_cancel(tx_id)
Sample code for Send Transaction for reference
Sample Code for Exchange for reference
Sample Code for Non Fungible Token Contract for reference
Sample Code for Payment Channel Contract for reference
Sample Code for System Contract for reference
Sample Code for Token Contract for reference