Python SDK (ECDSA only)

📘

SDK's and Authentication

Authentication Token and SDK's
Given that utilizing the Authentication Token is less complex than the ECDSA Authentication we have NOT provided SDK support for the Authentication Token and we do not intend to add support to SDKs for auth token.

Migrating from ECDSA to Authentication Token
Customers with apps using ECDSA will eventually be required to migrate their existing apps in the near future. Deprecating the ECDSA (legacy) Authentication Scheme is on the roadmap, but does not yet have an ETA.

Sila will send out communication via the news letter and update the docs when this migration needs to take place.

Version 0.2 requires Python version >= 3.6. This SDK abstracts the signature piece for signing the messages locally using users' private keys. github link

Initialization sets up the app private key and handle for the SDK to use for signing subsequent requests. The other SDK functionality will not be available until this configuration is completed. The SDK does not store this information outside of the instance that is configured. Private keys are never transmitted over the network or stored outside the scope of that instance.

  

Installation

### Installation
pip3 install silasdk==1.0.1

### Initialize the application
import os
from silasdk import App
from silasdk import User
from silasdk import Transaction
silaApp=App("SANDBOX",app_private_key,app_handle)

## Sets up the app private key and handle for the SDK to use for signing subsequent request. The other SDK functionality will not be available until this configuration is completed. The SDK does not store this information outside of the instance that is configured. Information like private keys etc is never transmitted over the network or stored outside the scope of this instance.
## ***SECURITY ALERT***
## **Never transmit user private keys over the network in the request body**

## Generate Wallet
from silasdk import EthWallet
wallet = EthWallet.create()
print(wallet["eth_private_key"]) ## The wallet private key
print(wallet["eth_address"]) ## The wallet public address

Wallet Generation

The installation step does not include ==wallet generation== the Wallet Generation code provided here are the wallet environment variables that you will need when you get to the register step. They will live with the other environment variable but you do not need them in the initial installation set up.

## Generate Wallet
wallet = EthWallet.create()
print(wallet["eth_private_key"]) ## The wallet private key
print(wallet["eth_address"]) ## The wallet public address