LoginSignup
1
0

More than 1 year has passed since last update.

DataSpiderSDKを使用したTRONアドレスの生成

Last updated at Posted at 2022-12-17

DataSpiderとブロックチェーン その2

DataSpiderSDKを使用したTRONアドレスの生成

前回では、SDK開発に必要なライブラリをそろえました。
今回は、TRONアドレスの生成アダプタを作成します。

アドレスの重要性

このアドレスは、今後スマートコントラクトを制御するために非常に重要な役割をはたします。
権限の制御をはじめ、各種処理を行う際にこのアドレス情報が必要となります。
アドレス情報は2種類あり、公開鍵(パブリックアドレス)と秘密鍵(プライベートキー)を管理する必要があります。
よって、この公開鍵と秘密鍵を出力するアダプタを実装したいと思います。

開発環境

  • Windows 10 x64
  • Java SDK 1.8
  • Pleiades: 統合開発環境 Eclipse Win x64
  • Ubuntu18.04 (※)
    ※ 第3回目以降で、Tronスマートコントラクトのデプロイで使用予定

開発準備

開発するにあたり、DataSpider本体およびDataSpiderSDKの開発環境が必要です。
環境を構築する手順はこちらを参照ください。

前提知識

  • JavaSEでのコーディングスキル
  • 暗号通貨ウォレット、アドレスの概念
  • DataSpiderのスクリプト作成
  • DataSpiderアダプタの利用方法
  • DTP(Illustrator、photoshop)

なにをするか

DataspiderSDK×TRONライブラリの利用という観点で、HelloWorldのような実装を行います。

実装内容

TRONライブラリを使用し、公開鍵と秘密鍵を生成します。
生成した、公開鍵と秘密鍵をデバッグ画面に表示させます。

実装手順

1. SDK付属の「hello_world_adapter」をワークスペースに読み込みます。

hello_world_adapterをEclipseのワークスペースに登録する方法は以下を参照:
Hello World Adapterの登録のページ

2. Tron jarファイルの読み込み
プロジェクト・エクスプローラの参照ライブラリに4つのjarファイルが含まれることを確認します。
また、その他必要となるjarファイルを外部jarとして認識させます。
外部jarファイルの利用および必要となるその他のjarファイルについてはこちらを参照ください。

3. 公開鍵と秘密鍵を取得するロジックを記載する
org.tron.trident.core.key.KeyPairをインポートし、HelloWorldAdapterOperationクラスに以下のコードを記載します。

HelloWorldAdapterOperation.java
package com.appresso.ds.dp.modules.adapter.helloworld;

import java.util.HashMap;
import java.util.Map;

// ★TRONライブラリを指定★
import org.tron.trident.core.key.KeyPair;

import com.appresso.ds.common.fw.LoggingContext;
import com.appresso.ds.dp.spi.Operation;
import com.appresso.ds.dp.spi.OperationContext;

public class HelloWorldAdapterOperation implements Operation {
	private final OperationContext context;

	public HelloWorldAdapterOperation(OperationContext context) {
		this.context = context;
	}

	@Override
	public Map execute(Map inputData) throws Exception {

        // ★TRONライブラリを使用し、公開鍵と秘密鍵を生成します★
		KeyPair keyPairGenarate = KeyPair.generate();
		String publicAddress =keyPairGenarate.toBase58CheckAddress();
		String privateKey = keyPairGenarate.toPrivateKey();

        // ★生成した内容をDataSpiderの実行ログに出力します★
		LoggingContext log = context.log();
		log.finest("*******************");
		log.info("** Tron address **");
		log.info("PUBLIC_ADDRESS : " + publicAddress);
		log.info("PTIVATE_KEY : " + privateKey);
		log.finest("*******************");

		return new HashMap();
	}

	@Override
	public void destroy() {
	}
}

実装は以上です。

4. DataSpiderのサービスの停止
service.PNG

5.ビルドとインストール
プロジェクト・エクスプローラからbuild.xmlを右クリックし、メニューから実行>Andビルド をクリックします。
build.png
Eclipseのコンソールタブに「」が表示されればインストールまで完了です。
build2.PNG
なお、DataSpiderSDKは、Antを使用します。ビルドとインストール処理の設定はこちらを参照ください。
Antターゲットの設定とインストール実行のページ

動作確認

1. DataSpiderサービスの起動
service_on.PNG

2. DataSpiderを起動
スクリプトを新規作成し、ツールパレットの下部からHelloWorldアイコンをスクリプトキャンバスに配置します。
配置後、てんとう虫ボタンをクリックすると、発行された公開鍵(アドレス)と秘密鍵情報が表示されます。
script2.PNG

上記ソースコードは、こちらに公開しています。
Github : dataspider-fan/qiitacode
参考にしていただければと思います。

次回は

ここまでで、DataSpiderSDK上でTronライブラリを使用したアダプタの開発ができることが分かりました。
次回は、アドレスを生成するアダプタをブラッシュアップしたものを紹介します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0