From 4a7f5aab3dff625cc8ed415b9bee14578d8124d9 Mon Sep 17 00:00:00 2001 From: shaozhuguang Date: Tue, 30 Jul 2019 14:20:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=AF=E5=8A=A8=E5=8F=82?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E8=AE=BE=E7=BD=AE=E4=BD=BF=E7=94=A8=E7=9A=84?= =?UTF-8?q?Console=EF=BC=8C=E5=B9=B6=E6=94=AF=E6=8C=81=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=80=80=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdk/samples/SDK_DataAccount_Demo.java | 49 +++++++++++++++++++ .../tools/initializer/LedgerInitCommand.java | 4 ++ 2 files changed, 53 insertions(+) create mode 100644 source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java new file mode 100644 index 00000000..ef82cb79 --- /dev/null +++ b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java @@ -0,0 +1,49 @@ +package com.jd.blockchain.sdk.samples; + +import com.jd.blockchain.contract.TransferContract; +import com.jd.blockchain.ledger.*; +import com.jd.blockchain.transaction.GenericValueHolder; +import com.jd.blockchain.transaction.LongValueHolder; +import com.jd.blockchain.utils.Bytes; + +import static com.jd.blockchain.sdk.samples.SDKDemo_Constant.readChainCodes; +import static com.jd.blockchain.transaction.ContractReturnValue.decode; + +public class SDK_DataAccount_Demo extends SDK_Base_Demo { + + public static void main(String[] args) { + new SDK_DataAccount_Demo().executeDataAccount(); + } + + public void executeDataAccount() { + + // 定义交易模板 + TransactionTemplate txTpl = blockchainService.newTransaction(ledgerHash); + + // 注册一个数据账户 + BlockchainKeypair dataAccount = createDataAccount(); + // 获取数据账户地址 + String dataAddress = dataAccount.getAddress().toBase58(); + // 打印数据账户地址 + System.out.printf("DataAccountAddress = %s \r\n", dataAddress); + + // 通过KV创建 + txTpl.dataAccount(dataAddress) + .setText("zhangsan", "我的世界", -1) + .setText("张三", "My World", -1); + TransactionResponse txResp = commit(txTpl); + + System.out.println(txResp.isSuccess()); + + } + + private BlockchainKeypair createDataAccount() { + // 首先注册一个数据账户 + BlockchainKeypair newDataAccount = BlockchainKeyGenerator.getInstance().generate(); + + TransactionTemplate txTpl = blockchainService.newTransaction(ledgerHash); + txTpl.dataAccounts().register(newDataAccount.getIdentity()); + commit(txTpl); + return newDataAccount; + } +} diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java index a16ba1fb..8077b6dc 100644 --- a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java +++ b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java @@ -151,6 +151,10 @@ public class LedgerInitCommand { } prompter.confirm(InitializingStep.LEDGER_INIT_COMPLETED.toString(), "\r\n\r\n Press any key to quit. :>"); + if (argSet.hasOption(MONITOR_OPT)) { + // 管理工具启动的方式下,需自动退出 + System.exit(0); + } } private LedgerManager ledgerManager;