Skip to main content

pythod-deenair-sdk. Base python library to interact with DeenAiR blockchain.

Project description

Python DeenAiR-SDK

Base python library to interact with DeenAiR blockchain.

This section will help you to do following features::

  • Getting any blockchain info
  • Key pair management
  • Send transactions, manage your stakes

Table of contents:

  1. Quick Start
  2. Methods

Quick Start

It is easy to install, use and integrate.

  1. Install python-deenair-sdk via pip

pip3 install python-deenair-sdk

  1. Import, declare Client, use methods.
from python_deenair_sdk import Client

client = Client("http://mainnet.deenair.org")
my_balance = client.get_wallet_state("FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z")
print(my_balance)

Methods

create_and_send_transaction

DeenAiR blockchain model is very flexible and allow you to send several messages per transaction. Also, you can pass and sign it with different private keys. For example, address1 want to send 1.5 DEEN to address2, delegate 1000 DEEN for Node 1, withdraw 2000 DEEN stake from Node 4.

Arguments:

  • messages - list contains:
    • message_type ("transfer", "delegate", "withdraw")
    • payer_secret - string base58 encoded private key
    • receiver_public - string base58 encoded receiver public key
    • amount - float DEEN amount
    • comment - string text comment for message

fee_payer_secret - string base58 encoded private key fee payer

data_for_messages = [
    {"message_type": "transfer",
    "payer_secret": "my_private_key",
    "receiver_public": "address2",
    "amount": 1.5,
    "comment": ""},

    {"message_type": "delegate",
    "payer_secret": "my_private_key",
    "receiver_public": "Node 1 address",
    "amount": 1000,
    "comment": ""},

    {"message_type": "withdraw",
    "payer_secret": "my_private_key",
    "receiver_public": "Node 4 address",
    "amount": 2000,
    "comment": ""},
]

transaction_sending_result = client.create_and_send_transaction(data_for_messages, fee_payer_secret="my_other_private_key")

get_leader

This method return current leader.

leader = client.get_leader()

Return:

  • nodeid - Node unique identifier which will validate the block
print(leader)
>>> {'id': '8f016b12-2f2d-4b41-aa06-a2868192204f',
 'jsonrpc': '2.0',
 'result': {'nodeid': '8b7PH1SwGXPpNJz5Md7zrLwDNyu9qMM7TYTvY7jRtRaG'},
 'status': 'ok'}

get_block

Return block info. Pass "latest" for latest block info, or string contain block index for certain block. "12" for example.

Arguments: - block string - pass block index or "latest" block = client.get_block("latest")

Return:

  • "blk" - block number
  • "blkid" - block hash
  • "trxs" - transactions list
  • "validator" - node validated this block
print(block)

>>> {'id': 'c4360936-3320-490e-afc0-8f850c5e143b',
 'jsonrpc': '2.0',
 'result': {'blk': '12',
            'blkid': 'CUgGe4RMdRfvGah9yNEoaUv6DsBnpBLgQip9RaTmi7YD',
            'trxs': [{'status': 'approved',
                      'trxid': '4Kwwjiqf7S9QapRm3V6ibnNwgG8x2skKFyi9uCsTZ79a',
                      'type': 'system',
                      'votes': [{'author': 'HW7d1jxu3emHanUwYSKoCS7A5zQ3XDN966MBAfW1VLib',
                                 'block': '13',
                                 'round': '1',
                                 'sign': 'gmKYGBMTYb7bLMdgEnoGUPDKzQ5RXhPMQnQ2wyY4uTRabf7tpG6JdXZFjvgyETYre3P2Z9JiTdZuLc18DsZXuQS',
                                 'vote': '2CieeTFDM9NxYbQMqxMhuGT2dhpdWbXBBzdhrCf47vA6'},
                                {'author': 'H5KAwn1A2MtYxCeEHsL3y8qadCWbnZ5MvjZWoukHJwp4',
                                 'block': '13',
                                 'round': '1',
                                 'sign': '4NqHz47ENNXUwonFkBEqxAQmApzny6weR7j5K6pQwAkvdPGudRP1ziP46p9yykvKJvCGfvLMpbSYEbhW4dpM3CYA',
                                 'vote': '8b7PH1SwGXPpNJz5Md7zrLwDNyu9qMM7TYTvY7jRtRaG'},
                                {'author': 'GPQXtBJs7W7sCmciWfJyrvHPGuYkNT9rqV6VrQs2DeLY',
                                 'block': '13',
                                 'round': '1',
                                 'sign': '2ezhyFBnphL97irUtMUFYgJuURoFgxqF1FQZT8JzaS1TUpqPPqxAKhrQns896vL133o1uWA9H6mWsRQkhtaJ57cq',
                                 'vote': 'D72hBA6kJdK5H5kEUMvCCJgHDu8CrdEtYzxNYz1RdeHd'},
                                {'author': 'FQ7UGXXCtCrKH4WhYkUb3iNWQNs1mKYGYfMUrzYncvFA',
                                 'block': '13',
                                 'round': '1',
                                 'sign': '5nvmUcxek7a8ydYg4EAJUC2FgFg4W1br5GadihfbQfSZjF9GmGucF8kNcdqWmRCAXxSQDiNR6dRd2UVwUm7bkQHD',
                                 'vote': '8b7PH1SwGXPpNJz5Md7zrLwDNyu9qMM7TYTvY7jRtRaG'},
                                {'author': 'EUjRzCXg8sUZhiajPhPuYw8z72zTPzRzHFjMt4XXtY2K',
                                 'block': '13',
                                 'round': '1',
                                 'sign': '3L2KVunzqHvG4rJnALmSK53dbWRnoHHvGWCi7AewkgGUnee8pG56RZf1JYR2sXB5HHKnoCRz8rmffrEYP6DAU2du',
                                 'vote': 'H5KAwn1A2MtYxCeEHsL3y8qadCWbnZ5MvjZWoukHJwp4'},
                                {'author': 'DCQP4AjFydfScw662awTXBg4hd5YkvqjhZotfe6o14bj',
                                 'block': '13',
                                 'round': '1',
                                 'sign': '4iwoR5RoEBxYkdHbjYpNZwgKfjZ94C59WgorZQqMxeyj7xx96AfA7PJe3umFSFPJVip4kEBgYZxPzua2p2gmyTK',
                                 'vote': 'D72hBA6kJdK5H5kEUMvCCJgHDu8CrdEtYzxNYz1RdeHd'},
                                {'author': 'D72hBA6kJdK5H5kEUMvCCJgHDu8CrdEtYzxNYz1RdeHd',
                                 'block': '13',
                                 'round': '1',
                                 'sign': '5Vgb8rszJt447xr9kTjC993GEjG31C34uih7swPhTkDZz1EYQ8RdfrZyLM5jD2zRLQknQNpQ5Ets1ceXzoHWg1Pc',
                                 'vote': 'H5KAwn1A2MtYxCeEHsL3y8qadCWbnZ5MvjZWoukHJwp4'},
                                {'author': '8b7PH1SwGXPpNJz5Md7zrLwDNyu9qMM7TYTvY7jRtRaG',
                                 'block': '13',
                                 'round': '1',
                                 'sign': '2yYKF9RABB6Ari15xVqeb19K3b9hprWwjXfnpDaPrWCKwjYgBUs5P1pa4Ey8bm3E9Zg4ApgtH12EAfZ3nGkoWBPY',
                                 'vote': 'FQ7UGXXCtCrKH4WhYkUb3iNWQNs1mKYGYfMUrzYncvFA'},
                                {'author': '2CieeTFDM9NxYbQMqxMhuGT2dhpdWbXBBzdhrCf47vA6',
                                 'block': '13',
                                 'round': '1',
                                 'sign': 'tifawJEMM95KaK9ZYCH36La1jdaWJ6hHRL2xMKZm9rMArtzWfmqBuNWHr3ye9UxKysr9zfgBDhi1EP79PRuferF',
                                 'vote': 'H5KAwn1A2MtYxCeEHsL3y8qadCWbnZ5MvjZWoukHJwp4'}]},
                     {'msgs': [{'comment': '',
                                'payer': 'FFvTLRy16bjefbgBPA9ZyYLwjiovkz77L7w27aneFnEQ',
                                'receiver': 'FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z',
                                'sign': '3fR5V3w8xuk8Ss3vuhvJ7YtCASzytBoTyF6Gt9rqH4pPak7UGLLBLCm1x7d9eGPHqe4i5qAPN39bciQVFWxvdJAJ',
                                'sum': '10000000',
                                'time': '1662457806000',
                                'type': 'transfer'},
                               {'comment': '',
                                'payer': 'FFvTLRy16bjefbgBPA9ZyYLwjiovkz77L7w27aneFnEQ',
                                'receiver': 'deenAiRoven55555555555555555555555555555555',
                                'sign': '39gLM2jwNtJU8dWia86ZBpcMs8LSPXiCS1YagJziNynJGpBvx5EF4EQnKaFWRXFWtG6jbfiQnDRUjvNpK8eErB2D',
                                'sum': '12270',
                                'time': '1662457806000',
                                'type': 'fee'}],
                      'status': 'approved',
                      'trxid': '5wdcefni8KffbhzSAoD56NzSPxE1F8r2f9WTgeBB26dS',
                      'type': 'remittance'},
                     {'msgs': [{'comment': 'system reward',
                                'payer': 'deenAiRissuer777777777777777777777777777777',
                                'receiver': 'FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z',
                                'sign': 'x1jHT4YybqPHeFmGZBuAw5vGoEhovNPA7vUq4LsFAAdReS9u1gQBovdfYwLds2Jm5pqHmrYaQxNNQyPCKkQKNuh',
                                'sum': '31802440',
                                'time': '1662457808465',
                                'type': 'emission'},
                               {'comment': 'node reward',
                                'payer': 'deenAiRissuer777777777777777777777777777777',
                                'receiver': 'FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z',
                                'sign': '5kq3tkRaDPLWcZxS3uqpLMSkSpZJokPWBcem31ttyBX82mPkvyLGkxs5VgPp4CmDxYtuhuQLrrCYfhLrz6co1yov',
                                'sum': '31802440',
                                'time': '1662457808465',
                                'type': 'emission'},
                               {'comment': 'reward for block 12',
                                'payer': 'deenAiRissuer777777777777777777777777777777',
                                'receiver': 'DkYVUPNbjcpdYe2mh8G7QfejZrP6W9wKjHaUA4rnhYHJ',
                                'sign': '5xUs1Jn1aRCyDvhZkXpqrePn2cUtfegYQRiLsRRJdcrozjkAPJiVRkPu7oGfVbgtA255NLi1Riz5as8894DUoeMm',
                                'sum': '95407390',
                                'time': '1662457808465',
                                'type': 'emission'}],
                      'status': 'approved',
                      'trxid': 'HFsmQune59PB98MS1BbCVLZiHsNvBVUjrHfVJ24615sj',
                      'type': 'remittance'}],
            'validator': 'EUjRzCXg8sUZhiajPhPuYw8z72zTPzRzHFjMt4XXtY2K'},
 'status': 'ok'}

get_node_list

Return full known nodes list.

nodes_list = client.get_node_list()

Return:

  • comment - Node description string
  • ip address - Node ip address
  • ip port - Node port
  • nodeid - Node unique identifier which will validate the block
  • public - Node DeenAiR address
  • stake - Total Solidius (1 DEEN = 10 000 000 Solidius) staked by this Node
  • storage - Block keeps (will be deprecated soon)
print(nodes_list)

>>> {'id': '7acdde04-9484-408c-b989-9b5b64a48ba0',
 'jsonrpc': '2.0',
 'result': [{'comment': 'Node 1',
             'ip address': '91.92.144.211',
             'ip port': '333',
             'nodeid': 'GPQXtBJs7W7sCmciWfJyrvHPGuYkNT9rqV6VrQs2DeLY',
             'public': 'HW9SMTAjQ1JN1JuTwd2QmhFK8Er1svsMD65aFR7kfZXM',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node 2',
             'ip address': '147.124.216.116',
             'ip port': '333',
             'nodeid': 'H5KAwn1A2MtYxCeEHsL3y8qadCWbnZ5MvjZWoukHJwp4',
             'public': '7bQUofUVSJbFmyyGvtTGhuHGKseF9kPkv4RWjCXrcBFs',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node 3',
             'ip address': '185.230.245.83',
             'ip port': '333',
             'nodeid': '2CieeTFDM9NxYbQMqxMhuGT2dhpdWbXBBzdhrCf47vA6',
             'public': '2oT6CHZZBMHPZy9Z2B9on2NKLfP2P7PVg6jjCMcbVMTZ',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node 4',
             'ip address': '31.222.238.225',
             'ip port': '333',
             'nodeid': 'D72hBA6kJdK5H5kEUMvCCJgHDu8CrdEtYzxNYz1RdeHd',
             'public': 'Cmmdicq1bEUE6wQNX9G5xTqiuvpBytHV2oQ95Jwjf3Pv',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node 5',
             'ip address': '45.136.5.73',
             'ip port': '333',
             'nodeid': 'DCQP4AjFydfScw662awTXBg4hd5YkvqjhZotfe6o14bj',
             'public': '2CQfQmV42k7KLQHN8Dze6PHSuqrq4JEnzmgu8d3U3PsL',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node 6',
             'ip address': '213.202.241.242',
             'ip port': '333',
             'nodeid': 'FQ7UGXXCtCrKH4WhYkUb3iNWQNs1mKYGYfMUrzYncvFA',
             'public': '6FQMU9ms7LznQWAJtuqmu1Lq3qtzPPcw5gMULBiJRkZt',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node 7',
             'ip address': '103.236.108.79',
             'ip port': '333',
             'nodeid': 'EUjRzCXg8sUZhiajPhPuYw8z72zTPzRzHFjMt4XXtY2K',
             'public': '6NYffPMSuUeoJRHv9U3tiGzK1sJRHALKLMvLqqobgbQ1',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node 8',
             'ip address': '194.34.132.37',
             'ip port': '333',
             'nodeid': 'HW7d1jxu3emHanUwYSKoCS7A5zQ3XDN966MBAfW1VLib',
             'public': '8BNUCcpj5GMrBHS7HTAwBDEjK4hQg1h1TxoCW4fHS9Pj',
             'stake': '10000000000000',
             'storage': '0-1'},
            {'comment': 'Node ZERO',
             'ip address': '213.33.215.250',
             'ip port': '333',
             'nodeid': '8b7PH1SwGXPpNJz5Md7zrLwDNyu9qMM7TYTvY7jRtRaG',
             'public': 'BxcQzsfG7xuvLwpTr5SkMZ91JMfCXMQJYmL564XgR69y',
             'stake': '27182810000000',
             'storage': '0-1'}],
 'status': 'ok'}

get_transaction

Get transaction info by transaction ID.

Arguments: - wallet string - base58 encoded public key (DeenAiR address)

trx_info = client.get_transaction("HFsmQune59PB98MS1BbCVLZiHsNvBVUjrHfVJ24615sj")

Return:

  • msgs - Messages list
  • status ("approved", "rejected", "pending") - transaction status
  • trxid - transaction hash
  • type ("remittance" for DeenAiR sending, "system" for voting) - transaction type

Each message contain following information:

  • type ("emission", "transfer", "fee", "delegate", "withdraw") - message type.
  • time - transaction sending unix timestamp since epoch (ms)
  • sum - Solidius amount (1 DEEN = 10 000 000 Solidius)
  • sign - Binary message ECDSA sign
  • receiver - Base58 encoded receiver DeenAiR address
  • payer - Base58 encoded sender DeenAiR address
print(trx_info)

>>> {'id': '8b0b1d15-d3f3-4ceb-8308-6aab0e10c4ec',
 'jsonrpc': '2.0',
 'result': {'msgs': [{'comment': 'system reward',
                      'payer': 'deenAiRissuer777777777777777777777777777777',
                      'receiver': 'FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z',
                      'sign': 'x1jHT4YybqPHeFmGZBuAw5vGoEhovNPA7vUq4LsFAAdReS9u1gQBovdfYwLds2Jm5pqHmrYaQxNNQyPCKkQKNuh',
                      'sum': '31802440',
                      'time': '1662457808465',
                      'type': 'emission'},
                     {'comment': 'node reward',
                      'payer': 'deenAiRissuer777777777777777777777777777777',
                      'receiver': 'FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z',
                      'sign': '5kq3tkRaDPLWcZxS3uqpLMSkSpZJokPWBcem31ttyBX82mPkvyLGkxs5VgPp4CmDxYtuhuQLrrCYfhLrz6co1yov',
                      'sum': '31802440',
                      'time': '1662457808465',
                      'type': 'emission'},
                     {'comment': 'reward for block 12',
                      'payer': 'deenAiRissuer777777777777777777777777777777',
                      'receiver': 'DkYVUPNbjcpdYe2mh8G7QfejZrP6W9wKjHaUA4rnhYHJ',
                      'sign': '5xUs1Jn1aRCyDvhZkXpqrePn2cUtfegYQRiLsRRJdcrozjkAPJiVRkPu7oGfVbgtA255NLi1Riz5as8894DUoeMm',
                      'sum': '95407390',
                      'time': '1662457808465',
                      'type': 'emission'}],
            'status': 'approved',
            'trxid': 'HFsmQune59PB98MS1BbCVLZiHsNvBVUjrHfVJ24615sj',
            'type': 'remittance'},
 'status': 'ok'}

get_wallet_transactions

Return all transaction list received or sent by specified wallet.

Arguments: - wallet string - base58 encoded public key (DeenAiR address)

trx_list = client.get_wallet_transactions("13Apa2YGPfBu3SpRNN54JKbjrfPa3GorQR6J6dfrXZWC")

Return: [trx1, trx2..., trxn] - transactions list. Transaction and message specification here.

print(trx_list)

>>> {'id': 'a495d521-ac7a-4016-845c-ce251858b557',
 'jsonrpc': '2.0',
 'result': [{'msgs': [{'comment': '',
                       'payer': 'FFvTLRy16bjefbgBPA9ZyYLwjiovkz77L7w27aneFnEQ',
                       'receiver': '13Apa2YGPfBu3SpRNN54JKbjrfPa3GorQR6J6dfrXZWC',
                       'sign': '4dQobMR2ZBxKJZe4ACt4zmQmyUbYj1WqzpP3mKD58soTwCVwSCZsjyFxCES6PDzjPCf6NiJnF6KnBFYrRXiAXW84',
                       'sum': '100000000000000',
                       'time': '1661973067000',
                       'type': 'transfer'},
                      {'comment': '',
                       'payer': 'FFvTLRy16bjefbgBPA9ZyYLwjiovkz77L7w27aneFnEQ',
                       'receiver': 'deenAiRoven55555555555555555555555555555555',
                       'sign': '5oxErGF3wy8EGqcxM49TCdsXVVt7Em34PTXxFdXzXr4rp9gv9CH9yU8QPH5YPJCTmTWG1K7AtPWQzpdxoXGCTW6r',
                       'sum': '12270',
                       'time': '1661973067000',
                       'type': 'fee'}],
             'status': 'approved',
             'trxid': 'Dwvu33FLYJpnWhomQz7g2ZRxh98NXxLvxqGAV3MD1T5K',
             'type': 'remittance'}],
 'status': 'ok'}

get_wallet_state

Return DeenAiR address current balance, last transaction ID.

Arguments: - wallet string - base58 encoded public key (DeenAiR address) wallet_state = client.get_wallet_state("FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z")

Return:

  • balance. Current Solidius amount. (1 DEEN = 10 000 000 Solidius)
  • last trx. Last approved transaction ID
  • wallet - specified DeenAiR address
print(wallet_state)

>>> {'id': '87198eee-ad19-4ac8-92f1-81bb3919d0bb',
 'jsonrpc': '2.0',
 'result': {'balance': '2718282435234240',
            'last trx': 'HWcMvCi83gBEhdTfsS2UWotjVWhnq33vtWW8xzR4GPLD',
            'wallet': 'FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z'},
 'status': 'ok'}

get_my_stakes

Return withdrawable stake amount and total amount staked by specified DeenAiR address. You can withdraw your stake after 14 days.

Arguments: - wallet string - base58 encoded public key (DeenAiR address)

my_stakes = client.get_my_stakes("FaN54gXbj6mhDob8CXwHLLuGwgBGiiswdaMt6d1UmS3z")

Return:

  • stake - total Solidius staked by this address
  • withdrawable - total Solidius staked by this address able to withdraw
print(my_stakes)

>>> {'id': '87198eee-ad19-4ac8-92f1-81bb3919d0bb',
 'jsonrpc': '2.0',
 'result': {
    "stake":10000000,
    "withdrawable":0
},
 'status': 'ok'}

generate_keypair

Generate seed, public key, private key.

Arguments:

  • wallet_id int, default = 3. DeenAiR default derivation path "m/44'/3566'/1'/0'/3'", but you can customize it with wallet_id argument. For example, if you pass 4 - your derivation path becomes "m/44'/3566'/1'/0'/4'".
  • strength - int, default 128._ It means your seed length will be equals 12 words. If you pass 256 - it will be 24 words.

keypair = client.generate_keypair()

Return dict contain following pairs:

  • "seed" - your mnemonic seed. For keypair recovery.
  • "wallet_id" - wallet derivation path purpose.
  • "priv_key" - base58 encoded private key
  • "publ_key" - base58 encoded public key (DeenAiR address)

recover_keypair_from_phrase

Recover your private and public keys with your seed and derivation path

Arguments:

  • phrase - list Your seed phrase. ["abandon", "abandon", "abandon", "abandon", "abandon", "abandon", "abandon", "abandon", "abandon", "abandon", "abandon", "abandon"]
  • wallet_id - int default=3. Your address derivation path.

Return dict contain following pairs:

  • "wallet_id" - wallet derivation path purpose.
  • "priv_key" - base58 encoded private key
  • "publ_key" - base58 encoded public key (DeenAiR address)

create_nft

Create your NFT.

Arguments:

  • metadata - dict Your NFT Metadata
  • minter_pub - string base58 encoded public key (DeenAiR address). This address will become an NFT owner.
  • fee_payer_secret - string base58 encoded private key fee payer
  • collection_secret - string base58 encoded collection private key
nft_meta = {
   "location": "https://path/to/your/mediafile",
   "trait_1": "trait_1_value",
   "trait_2": "trait_2_value",
   "trait_3": "trait_3_value",
   "royalty": {
      "SOMEONE_ADDRESS":"10"
   }
}
create_nft_result = client.create_nft(nft_meta,
                     collection_secret="NFT_COLLECTION_SECRET",
                     minter_pub="OWNER_ADDRESS",
                     fee_payer_secret="FEE_PAYER_SECRET"
                     )

get_collection

Returns all token IDs of specified collection.

Arguments:

  • collection_id string Collection id.
collection = client.get_collection("GnBgxYeVwFSqPgn2SgGUK5hUPKTdbycU7n7E3xdSTbmu")

>>> {'jsonrpc': '2.0', 'status': 'ok', 'id': '3b12b8ad-2e3f-4ca6-b42d-7bab25a23e8e', 'result': ['AnVZpQb9SfAEYyL3FQA2Pj9Uv4KhY4Xz7jP719E2zVs']}

get_token

Returns all token data.

Arguments:

  • token_id string Token id.
collection = client.get_token("AnVZpQb9SfAEYyL3FQA2Pj9Uv4KhY4Xz7jP719E2zVs")

>>> {'id': 'a1be3137-5b75-4911-a1c4-7476a234e4d6',
 'jsonrpc': '2.0',
 'result': {'coll': 'GnBgxYeVwFSqPgn2SgGUK5hUPKTdbycU7n7E3xdSTbmu',
            'last trx': '3ys5BPHdxnXwq83yzzHNCeokBFXsV8p3vjGmWTqLQEcM',
            'metadata': '{"location":"https://path/to/your/mediafile","trait_1":"trait_1_value","trait_2":"trait_2_value","trait_3":"trait_3_value","royalty":{"6w3yfx5ww6hG6KAU5uvGCo7JVK6ZbcFCyMV6pk78WkFX":"10"}}',
            'owner': '6TycKpDvqYszBxa5z2ce6wk17PiCFUhCtkw8J6uPNeef',
            'token': 'AnVZpQb9SfAEYyL3FQA2Pj9Uv4KhY4Xz7jP719E2zVs'},
 'status': 'ok'}

burn_nft

Permamently delete your token.

Arguments:

  • token_id string Token ID
  • owner_private_key string Owner's base58 encoded private key
  • fee_payer_secret - string base58 encoded private key fee payer
client.burn_nft("AnVZpQb9SfAEYyL3FQA2Pj9Uv4KhY4Xz7jP719E2zVs",
                        owner_private_key="owner_private_key",
                        fee_payer_secret="fee_payer_secret")

donate_nft

Transfer of token ownership to another address.

Arguments:

  • token_id string Token ID
  • owner_private_key string Owner's base58 encoded private key
  • receiver string New owner base58 encoded private key
  • fee_payer_secret - string base58 encoded private key fee payer
client.donate_nft("AnVZpQb9SfAEYyL3FQA2Pj9Uv4KhY4Xz7jP719E2zVs",
                        owner_private_key="owner_private_key",
                        receiver="new_owner_address",
                        fee_payer_secret="fee_payer_private_key")

emit_fft

Create your own side-coin.

Arguments:

  • amount int - token amount to mint
  • fft_public - str token id
  • owner_private - str token creator base58 DeenAiR address
  • emit_wallet - str base58 DeenAiR address which receive minted tokens
  • fee_payer_secret - string base58 encoded private key fee payer
  • token_name - string Token name
 emit = client.emit_fft(amount=100000,
                    fft_public="TOKEN_PUBLIC_KEY,
                    owner_private="MINTER_PRIVATE_KEY",
                    emit_wallet="RECEIVER_ADDRESS",
                    fee_payer_secret="FEE_PAYER_PRIVATE_KEY",
                    token_name="USDT")

transfer_fft

Transfer sidecoins.

Arguments:

  • fft_public - str token id
  • sender_private_key - str sender's private key
  • receiver - str base58 DeenAiR address which receive tokens
  • amount int - token amount to mint
  • fee_payer_secret - string base58 encoded private key fee payer
cl.transfer_fft(fft_public=public_fft,
                sender_private_key="SENDER_PRIVATE_KEY,
                receiver="RECEIVER_ADDRESS",
                amount=1,
                fee_payer_secret="FEE_PAYER_PRIVATE_KEY")

get_fft_info

Returns all data about sidecoin.

print(client.get_fft_info("CyR9v5yPQZjatM1uky9tSb5uqozvyfw5QkJLNqA9cZAi"))

>>> {'id': '71d6bec5-77dd-4007-93df-3b9aefad2b2f',
 'jsonrpc': '2.0',
 'result': {'name': 'USDT',
            'owner': '6w3yfx5ww6hG6KAU5uvGCo7JVK6ZbcFCyMV6pk78WkFX',
            'token': 'CyR9v5yPQZjatM1uky9tSb5uqozvyfw5QkJLNqA9cZAi'},
 'status': 'ok'}

get_fft_list

Returns all FFT.

print(client.get_fft_list())

>>> {'id': 'cb78b237-15fa-44f4-8fb3-5f7d9d99baf7',
 'jsonrpc': '2.0',
 'result': ['CyR9v5yPQZjatM1uky9tSb5uqozvyfw5QkJLNqA9cZAi'],
 'status': 'ok'}

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

python-deenair-sdk-0.0.8.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_deenair_sdk-0.0.8-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file python-deenair-sdk-0.0.8.tar.gz.

File metadata

  • Download URL: python-deenair-sdk-0.0.8.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for python-deenair-sdk-0.0.8.tar.gz
Algorithm Hash digest
SHA256 ab9c182e35d76524ddfe0ebf4020d070cd27f5f195af9ae76212be32f2716300
MD5 9c556d53aabd2dd54188efd6626574f9
BLAKE2b-256 5b2ffd61af50e2cc86b975aa7349bdbea7e28ba3103f64f0a26448f3471bbe2b

See more details on using hashes here.

File details

Details for the file python_deenair_sdk-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for python_deenair_sdk-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b4a92d4f2c487f00c1ea7bc913933e6ded1dfeac117527f096e5a36afcd59b92
MD5 67534ff8bd2055264aa44d65a5e19f7a
BLAKE2b-256 e26ae008b9e0e02a29d94361d218215f23524553da899b216f74ef31d45d8afc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page