Skip to main content

Ambisafe server 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, 'prefix')

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


Download files

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

Source Distribution

ambisafe-0.15.1.tar.gz (10.6 kB view hashes)

Uploaded Source

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