Skip to main content

A python wrapper for vsys api.

Project description

pyvsystems

A python wrapper for vsys api.

For more detail, please refer:

PYVSYSTEMS User Guide Specification (English)

PYVSYSTEMS 使用详细指南(中文)

Install

Library can be pulled via pip directly:

git+https://github.com/virtualeconomy/pyvsystems.git

Or:

  1. clone the repo under you workspace git clone https://github.com/virtualeconomy/pyvsystems.git
  2. install the package pip3 install pyvsystems/.
  3. Then you can import pyvsystems in your workspace

Usage

chain object

  1. For testnet:

    import pyvsystems as pv
    ts_chain = pv.testnet_chain()
    
  2. For default chain:

    import pyvsystems as pv
    main_chain = pv.default_chain()
    
  3. For custom api node:

    import pyvsystems as pv
    custom_wrapper = pv.create_api_wrapper('http://<full node ip>:9922', api_key='')
    ts_chain = pv.testnet_chain(custom_wrapper)
    
  4. For completely custom chain:

    import pyvsystems as pv
    custom_wrapper = pv.create_api_wrapper('http://<full node ip>:9922', api_key='')
    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='')
    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='')
    c_chain = pv.Chain(chain_name='mychain', chain_id='C', address_version=1, api_wrapper=custom_wrapper3)
    

chain api list

  1. look up current block height of the chain:

    ts_chain.height()
    
  2. look up the last block info of the chain:

    ts_chain.lastblock()
    
  3. look up a block info at n in the chain:

    ts_chain.block(n)
    
  4. Get a transaction info by transacion id in the chain:

    ts_chain.tx(tx_id)
    
  5. Validate an address of the chain:

    ts_chain.validate_address(addr)
    

address object

  1. constructed by seed
    from pyvsystems import Account
    my_address = Account(chain=ts_chain, seed='<your seed>', nonce=0)
    
  2. constructed by private key
    from pyvsystems import Account
    my_address = Account(chain=ts_chain, private_key='<your base58 private key>')
    
  3. constructed by public key
    from pyvsystems import Account
    recipient = Account(chain=ts_chain, public_key='<base58 public key>')
    
  4. constructed by wallet address
    from pyvsystems import Account
    recipient = Account(chain=ts_chain, address='<base58 wallet address>')
    

address api list

  1. 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))
    
  2. Send payment transaction
    # send payment (100000000 = 1 VSYS)
    my_address.send_payment(recipient, amount=100000000)
    
  3. 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 Smart Contract for reference

Sample Code for Exchange for reference

Project details


Release history Release notifications

Download files

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

Files for pyvsystems, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size pyvsystems-0.1.0-py3-none-any.whl (33.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pyvsystems-0.1.0.tar.gz (30.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page