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;