Ambisafe KeyServer client library
Project description
Install
Use pip
pip install ambisafe
Usage
Create client
Import Client and create client object
from ambisafe import Client client = Client(ambisafe_server_url, secret, api_key, api_secret)
You can set prefix for account id
client = Client(ambisafe_server_url, secret, api_key, api_secret, account_id_prefix='prefix')
You can provide read and connect timeout (in seconds)
client = Client(ambisafe_server_url, secret, api_key, api_secret, connect_timeout=2.5, read_timeout=5)
Create account
Simple security schema
account = client.create_simple_account(account_id, currency='BTC')
Wallet4 security schema
Generate operator container using secret and create user container from public_key, data (encrypted private key), iv and salt
from ambisafe import Container operator_container = Container.generate(client.secret) user_container = Container(public_key, data, iv, salt)
Create account for security schema “Wallet4” and “BTC” currency
account = client.create_wallet4_account(account_id, user_container=user_container, operator_container=operator_container, currency='BTC')
Update Wallet4 account
Create new containers and update account
account = client.update_wallet4_account(account_id, user_container=user_container, operator_container=operator_container, currency='BTC')
Get balance
Get balance in float
balance = client.get_balance(account_id, 'BTC')
Get account
account = client.get_account(account_id, 'BTC')
Make payment
For Simple account
Build and submit transaction
transaction = client.build_transaction(account_id, 'BTC', address, amount) result = client.submit(account_id, transaction, 'BTC')
For Wallet4 accounts
Build transaction
transaction = client.build_transaction(account_id, 'BTC', address, amount)
Sign this transaction by user, then sing by operator and submit it
transaction = client.sign_wallet4_transaction(transaction, account_id, 'BTC') client.submit(account_id, transaction, 'BTC') # or result = client.cosign_wallet4_and_submit(transaction, account_id, 'BTC')
Build recovery transaction
transaction = client.build_recovery_transaction(account_id, currency, old_address)
Disclaimer
The library still in BETA. There can be changes without backward compatibility.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ambisafe-0.28.2.tar.gz
.
File metadata
- Download URL: ambisafe-0.28.2.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bf683b951ebc25d3a7e4cb7c20dfff24f38a2bd9f07c4ced33c3dc9082d39c3 |
|
MD5 | f94b46824374580c1b66f8ff2b6d2b06 |
|
BLAKE2b-256 | 2eba677ca8fe3c33272f0c7aadc7c9eee2283cad4f8341414a3fb82e57a20858 |