EOSLibrary for Java and Android

5895 ワード

EOS Java
EOSIO RPC APIとEOSIOベースのブロックチェーンセットを使用するJava API.JavaとAndroidが適用されます.特色:カスタムスマート契約をサポートする.
インストール
方式一(推奨)
  • Maven
  • 
        com.redli
        eoslibrary_v2.5
        2.5
        pom
    
    
  • Gradle
  • implementation 'com.redli:eoslibrary_v2.5:2.5'
    

    方式2
  • jarパッケージeoslibrary_をインポートv2.5.jar

  • 方程式3
  • ダウンロードソースコード導入eoslibrary module(自分でソースコードを修正して自分のプロジェクトの個性化に対して制定する)
  • API (Ecc and Rpc)
    インタフェースの返却説明(すべてのインタフェースが統一フォーマットを返す)は次のとおりです.
    {
        "isSuccess":true or false,
        "message":"     or     ",
        "data":"    json  "
    }
    

    たとえば(チェーン情報を取得):
    {
        "isSuccess":true,
        "message":"    ",
        "data":"{"server_version":"5e8e2949","chain_id":"cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f","head_block_num":28601043,"last_irreversible_block_num":28601030,"last_irreversible_block_id":"01b46ac611697416b029dc9d7ea9e0033904ddb84bb40a7cc0447e6b3a39a02f","head_block_id":"01b46ad38b76ccff4e1c31b1e64f6f80eb4b40ee870b57427cfa26961957d2da","head_block_time":"2019-06-06T06:33:54.000","head_block_producer":"sunny","virtual_block_cpu_limit":200000000,"virtual_block_net_limit":1048576000,"block_cpu_limit":199900,"block_net_limit":1048576,"server_version_string":"v1.6.3"}"
    }
    

    Eccクラス
  • 秘密鍵(Ecc.seedPrivate)
  • を生成する.
    パラメータ
    を選択します.
    パラメータ名
    説明

    seed
    String
    シード
    乱数
    Ecc.seedPrivate(「ランダムシード」)
    2.秘密鍵取得公開鍵(Ecc.getPublicKey)
    パラメータ
    を選択します.
    パラメータ名
    説明

    privateKey
    String
    秘密鍵
    ユーザ秘密鍵
    Ecc.getPublicKey(「秘密鍵」)
    Rpcクラス
    初期化Rpc
    パラメータ
    を選択します.
    パラメータ名
    説明

    baseUrl
    String
    チェーンアドレス
    Rpc rpc=new Rpc(「http://チェーンIP:チェーンポート」)
    1.チェーン情報の取得(getChainInfo)
    パラメータ
    を選択します.
    パラメータ名
    説明

    なし
    2.アカウント情報の取得(getAccount)
    パラメータ
    を選択します.
    パラメータ名
    説明

    account
    String
    アカウント名
    rpc.getAccount("smallred1111")
    3.秘密鍵による口座名の取得(getKeyAccounts)
    パラメータ
    を選択します.
    パラメータ名
    説明

    privateKey
    String
    秘密鍵
    rpc.getKeyAccounts("123425")
    4.取引情報の取得(getActions)
    パラメータ
    を選択します.
    パラメータ名
    説明

    account
    String
    アカウント名
    rpc.getActions("smallred1111")
    5.取引情報の取得(getActions)
    パラメータ
    を選択します.
    パラメータ名
    説明

    account
    String
    アカウント名
    必須
    pos
    String
    アカウント名
    オプション
    デフォルト-1
    offset
    String
    アカウント名
    オプション
    デフォルト-20
    6.テーブルデータの取得(getTable Rows)
    パラメータ
    を選択します.
    パラメータ名
    説明

    scope
    String
    アクティブドメイン
    必須
    code
    String
    契約名
    必須
    table
    String
    テーブル名
    必須
    keyType
    String
    オプション
    デフォルト
    encodeType
    String
    オプション
    lowerBound
    String
    オプション
    upperBound
    String
    オプション
    limit
    String
    制限
    オプション
    デフォルト10
    7.取引情報の取得(getCurrencyBalance)
    パラメータ
    を選択します.
    パラメータ名
    説明

    account
    String
    アカウント名
    必須
    code
    String
    契約名
    必須
    symbol
    String
    シンボル
    必須
    8.取引開始(pushTransaction)重点(カスタム契約名をサポート)
    パラメータ
    を選択します.
    パラメータ名
    説明

    code
    String
    契約名
    必須
    action
    String
    契約方法
    必須
    account
    String
    ユーザー名
    必須
    privateKey
    String
    ユーザ秘密鍵
    必須
    args
    Map
    契約メソッドパラメータセット
    必須
    注意:APIの1-7インタフェースは、EOSIO RPC APIのapiを介してhttpリクエストで操作できます.ここでは、個人のプロジェクトのニーズに応じてAPI 1-7をパッケージにカプセル化して使いやすいです.
    使用
    Java
    ダイレクトコール
    Android
  • 推奨使用方法は以下の通りである:
  • final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue());
    Map args1 = new HashMap<>();
    args2.put("msg", "testtest");
    args2.put("index", 123321);
    
    Map args2 = new HashMap<>();
    args2.put("from", "smallred1111");
    args2.put("to", "smallred1112");
    args2.put("quantity", "0.0001 TOK");
    args2.put("memo", "   3");
    
    threadPoolExecutor.execute(new Runnable() {
       @Override public void run() {
            //         
            String txnResponse1 = rpc.pushTransaction("sakuyatest13", "test", "smallred111167", SAMPLE_PRIV_KEY_FOR_TEST, args2);
            System.out.println();
            System.out.println("PushTransaction1: " + gson.toJson(txnResponse1));
            //EOS         
            String txnResponse2 = rpc.pushTransaction("eosio.token", "transfer", "smallred1111", SAMPLE_PRIV_KEY_FOR_TEST, args2);
            System.out.println();
            System.out.println("PushTransaction2: " + gson.toJson(txnResponse2));
            threadPoolExecutor.shutdown();
        }
     });
    

    ANDROIDバージョンの使用上の注意事項(Android Pは明文トラフィックのネットワーク要求を制限し、暗号化されていないトラフィック要求はシステムによって禁止されます)は以下のように構成されています.
    1、 res     xml     xml     network_security_config.xml,    :
    
      
    
    2、AndroidManifest:
    
    
    

    質問があればコメントを歓迎するか、インタフェースをカスタマイズする必要があります.GithubプロジェクトアドレスIssuesセンチメートルテクノロジー:clap::clap::clap:
    最後に
    お礼:
  • EosCommander楕円曲線アルゴリズムおよびblockchainツールクラス
  • eos4j