From 922fe5449074ea1c041c9a4f71641475915073c2 Mon Sep 17 00:00:00 2001 From: shaozhuguang Date: Wed, 18 Sep 2019 15:35:37 +0800 Subject: [PATCH] Adding SDK usage examples --- .../sdk/samples/SDKDemo_Constant.java | 38 ++++++++-------- .../sdk/samples/SDK_RoleConfig_Demo.java | 26 +++++++++++ .../sdk/samples/SDK_User2Role_Demo.java | 44 +++++++++++++++++++ 3 files changed, 89 insertions(+), 19 deletions(-) create mode 100644 source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java create mode 100644 source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_User2Role_Demo.java diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java index f0237cec..3ee48e47 100644 --- a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java +++ b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java @@ -7,37 +7,37 @@ import java.io.File; public class SDKDemo_Constant { -// public static final String GW_IPADDR = "127.0.0.1"; - public static final String GW_IPADDR = "192.168.151.41"; - -// public static final int GW_PORT = 11000; - public static final int GW_PORT = 18081; - -// public static final String[] PUB_KEYS = { -// "3snPdw7i7PjVKiTH2VnXZu5H8QmNaSXpnk4ei533jFpuifyjS5zzH9", -// "3snPdw7i7PajLB35tEau1kmixc6ZrjLXgxwKbkv5bHhP7nT5dhD9eX", -// "3snPdw7i7PZi6TStiyc6mzjprnNhgs2atSGNS8wPYzhbKaUWGFJt7x", -// "3snPdw7i7PifPuRX7fu3jBjsb3rJRfDe9GtbDfvFJaJ4V4hHXQfhwk"}; -// -// public static final String[] PRIV_KEYS = { -// "177gjzHTznYdPgWqZrH43W3yp37onm74wYXT4v9FukpCHBrhRysBBZh7Pzdo5AMRyQGJD7x", -// "177gju9p5zrNdHJVEQnEEKF4ZjDDYmAXyfG84V5RPGVc5xFfmtwnHA7j51nyNLUFffzz5UT", -// "177gjtwLgmSx5v1hFb46ijh7L9kdbKUpJYqdKVf9afiEmAuLgo8Rck9yu5UuUcHknWJuWaF", -// "177gk1pudweTq5zgJTh8y3ENCTwtSFsKyX7YnpuKPo7rKgCkCBXVXh5z2syaTCPEMbuWRns"}; + public static final String GW_IPADDR = "127.0.0.1"; +// public static final String GW_IPADDR = "192.168.151.41"; + public static final int GW_PORT = 11000; +// public static final int GW_PORT = 18081; public static final String[] PUB_KEYS = { - "3snPdw7i7PXvEDgq96QyzcKhfWL4mgYspzKwvgXiuAidWb2rkRMgDY", + "3snPdw7i7PjVKiTH2VnXZu5H8QmNaSXpnk4ei533jFpuifyjS5zzH9", "3snPdw7i7PajLB35tEau1kmixc6ZrjLXgxwKbkv5bHhP7nT5dhD9eX", "3snPdw7i7PZi6TStiyc6mzjprnNhgs2atSGNS8wPYzhbKaUWGFJt7x", "3snPdw7i7PifPuRX7fu3jBjsb3rJRfDe9GtbDfvFJaJ4V4hHXQfhwk"}; public static final String[] PRIV_KEYS = { - "177gjsxj2ezADGthZ4tGqWeCAqRAwtNvesPjRnyKqCb1huU8LKZmJ3HGZNMPKWQJK3DP1B2", + "177gjzHTznYdPgWqZrH43W3yp37onm74wYXT4v9FukpCHBrhRysBBZh7Pzdo5AMRyQGJD7x", "177gju9p5zrNdHJVEQnEEKF4ZjDDYmAXyfG84V5RPGVc5xFfmtwnHA7j51nyNLUFffzz5UT", "177gjtwLgmSx5v1hFb46ijh7L9kdbKUpJYqdKVf9afiEmAuLgo8Rck9yu5UuUcHknWJuWaF", "177gk1pudweTq5zgJTh8y3ENCTwtSFsKyX7YnpuKPo7rKgCkCBXVXh5z2syaTCPEMbuWRns"}; + +// public static final String[] PUB_KEYS = { +// "3snPdw7i7PXvEDgq96QyzcKhfWL4mgYspzKwvgXiuAidWb2rkRMgDY", +// "3snPdw7i7PajLB35tEau1kmixc6ZrjLXgxwKbkv5bHhP7nT5dhD9eX", +// "3snPdw7i7PZi6TStiyc6mzjprnNhgs2atSGNS8wPYzhbKaUWGFJt7x", +// "3snPdw7i7PifPuRX7fu3jBjsb3rJRfDe9GtbDfvFJaJ4V4hHXQfhwk"}; +// +// public static final String[] PRIV_KEYS = { +// "177gjsxj2ezADGthZ4tGqWeCAqRAwtNvesPjRnyKqCb1huU8LKZmJ3HGZNMPKWQJK3DP1B2", +// "177gju9p5zrNdHJVEQnEEKF4ZjDDYmAXyfG84V5RPGVc5xFfmtwnHA7j51nyNLUFffzz5UT", +// "177gjtwLgmSx5v1hFb46ijh7L9kdbKUpJYqdKVf9afiEmAuLgo8Rck9yu5UuUcHknWJuWaF", +// "177gk1pudweTq5zgJTh8y3ENCTwtSFsKyX7YnpuKPo7rKgCkCBXVXh5z2syaTCPEMbuWRns"}; + public static final String PASSWORD = "abc"; public static final byte[] readChainCodes(String contractZip) { diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java new file mode 100644 index 00000000..6b768a82 --- /dev/null +++ b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java @@ -0,0 +1,26 @@ +package com.jd.blockchain.sdk.samples; + +import com.jd.blockchain.ledger.*; + +public class SDK_RoleConfig_Demo extends SDK_Base_Demo { + + public static void main(String[] args) { + new SDK_RoleConfig_Demo().executeRoleConfig(); + } + + public void executeRoleConfig() { + + // 定义交易模板 + TransactionTemplate txTpl = blockchainService.newTransaction(ledgerHash); + + // 新增加一个角色 + + txTpl.security().roles().configure("MyRole") + .enable(LedgerPermission.APPROVE_TX, LedgerPermission.CONSENSUS_TX) + .disable(TransactionPermission.CONTRACT_OPERATION); + TransactionResponse txResp = commit(txTpl); + + System.out.println(txResp.isSuccess()); + + } +} diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_User2Role_Demo.java b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_User2Role_Demo.java new file mode 100644 index 00000000..5f18f6aa --- /dev/null +++ b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_User2Role_Demo.java @@ -0,0 +1,44 @@ +package com.jd.blockchain.sdk.samples; + +import com.jd.blockchain.ledger.*; +import com.jd.blockchain.utils.Bytes; + +public class SDK_User2Role_Demo extends SDK_Base_Demo { + + public static void main(String[] args) { + new SDK_User2Role_Demo().executeUser2Role(); + } + + public void executeUser2Role() { + + // 定义交易模板 + TransactionTemplate txTpl = blockchainService.newTransaction(ledgerHash); + + // 注册一个用户 + BlockchainKeypair user = createUser(); + + Bytes userAddress = user.getAddress(); + // 获取数据账户地址 + System.out.printf("UserAddress = %s \r\n", userAddress.toBase58()); + + + txTpl.security().authorziations().forUser(user.getIdentity()) + .authorize("MYROLE") + .setPolicy(RolesPolicy.UNION) + .unauthorize("MYROLE"); + TransactionResponse txResp = commit(txTpl); + + System.out.println(txResp.isSuccess()); + + } + + private BlockchainKeypair createUser() { + // 首先注册一个数据账户 + BlockchainKeypair newUser = BlockchainKeyGenerator.getInstance().generate(); + + TransactionTemplate txTpl = blockchainService.newTransaction(ledgerHash); + txTpl.users().register(newUser.getIdentity()); + commit(txTpl); + return newUser; + } +}