From f7315d3271cad153cdd1b7f4644944f459f2075f Mon Sep 17 00:00:00 2001 From: huanghaiquan Date: Tue, 27 Aug 2019 21:44:16 +0800 Subject: [PATCH] Add security init settings to ledger init settings; --- .../com/jd/blockchain/consts/DataCodes.java | 13 +- .../ledger/core/LedgerAdminDatasetTest.java | 4 +- .../ledger/core/LedgerEditorTest.java | 2 +- .../ledger/core/LedgerInitOperationTest.java | 4 +- .../core/LedgerInitSettingSerializeTest.java | 4 +- .../ledger/core/LedgerManagerTest.java | 4 +- .../ledger/core/LedgerTestUtils.java | 4 +- .../jd/blockchain/ledger/RoleInitData.java | 48 +++++ .../blockchain/ledger/RoleInitSettings.java | 41 ++++ .../blockchain/ledger/SecurityInitData.java | 28 +++ .../ledger/SecurityInitSettings.java | 24 +++ ...itSettingData.java => LedgerInitData.java} | 2 +- .../ledger/SecurityInitDataTest.java | 82 ++++++++ .../jd/blockchain/sdk/LedgerInitSettings.java | 192 +++++++++--------- .../sdk/converters/ClientResolveUtil.java | 4 +- .../web/LedgerInitializeWebController.java | 2 +- .../mocker/MockerLedgerInitializer.java | 2 +- 17 files changed, 343 insertions(+), 117 deletions(-) create mode 100644 source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java create mode 100644 source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java create mode 100644 source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java create mode 100644 source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java rename source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/{LedgerInitSettingData.java => LedgerInitData.java} (95%) create mode 100644 source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java diff --git a/source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java b/source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java index d83a311e..d1487f73 100644 --- a/source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java +++ b/source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java @@ -21,7 +21,7 @@ public interface DataCodes { public static final int BLOCK_GENESIS = 0x120; public static final int DATA_SNAPSHOT = 0x130; - + // public static final int LEDGER_ADMIN_DATA = 0x131; public static final int TX = 0x200; @@ -59,16 +59,15 @@ public interface DataCodes { public static final int ENUM_TX_PERMISSION = 0x401; public static final int ENUM_LEDGER_PERMISSION = 0x402; public static final int ENUM_MULTI_ROLES_POLICY = 0x403; - + public static final int PRIVILEGE_SET = 0x410; - + public static final int ROLE_SET = 0x411; - // contract types of metadata; public static final int METADATA = 0x600; public static final int METADATA_V2 = 0x601; - + public static final int METADATA_INIT_SETTING = 0x610; public static final int METADATA_INIT_PROPOSAL = 0x611; @@ -79,6 +78,10 @@ public interface DataCodes { public static final int METADATA_CONSENSUS_PARTICIPANT = 0x621; + public static final int METADATA_SECURITY_INIT_SETTING = 0x622; + + public static final int METADATA_ROLE_INIT_SETTING = 0x623; + // public static final int METADATA_CONSENSUS_NODE = 0x630; // // public static final int METADATA_CONSENSUS_SETTING = 0x631; diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java index 3c31a02e..bce41009 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java @@ -37,7 +37,7 @@ import com.jd.blockchain.ledger.core.LedgerAdminDataset; import com.jd.blockchain.ledger.core.LedgerConfiguration; import com.jd.blockchain.storage.service.utils.MemoryKVStorage; import com.jd.blockchain.transaction.ConsensusParticipantData; -import com.jd.blockchain.transaction.LedgerInitSettingData; +import com.jd.blockchain.transaction.LedgerInitData; import com.jd.blockchain.utils.Bytes; import com.jd.blockchain.utils.net.NetworkAddress; @@ -51,7 +51,7 @@ public class LedgerAdminDatasetTest { @Test public void testSerialization() { String keyPrefix = ""; - LedgerInitSettingData initSetting = new LedgerInitSettingData(); + LedgerInitData initSetting = new LedgerInitData(); ConsensusParticipantData[] parties = new ConsensusParticipantData[5]; BlockchainKeypair[] bckeys = new BlockchainKeypair[parties.length]; for (int i = 0; i < parties.length; i++) { diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java index c73badb1..97979205 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java @@ -34,7 +34,7 @@ import com.jd.blockchain.ledger.core.LedgerTransactionalEditor; import com.jd.blockchain.ledger.core.UserAccount; import com.jd.blockchain.storage.service.utils.MemoryKVStorage; import com.jd.blockchain.transaction.ConsensusParticipantData; -import com.jd.blockchain.transaction.LedgerInitSettingData; +import com.jd.blockchain.transaction.LedgerInitData; import com.jd.blockchain.utils.Bytes; import com.jd.blockchain.utils.io.BytesUtils; import com.jd.blockchain.utils.net.NetworkAddress; diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java index 672ba12a..8c245fa2 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java @@ -25,7 +25,7 @@ import com.jd.blockchain.ledger.core.CryptoConfig; import com.jd.blockchain.ledger.core.ParticipantCertData; import com.jd.blockchain.transaction.ConsensusParticipantData; import com.jd.blockchain.transaction.LedgerInitOpTemplate; -import com.jd.blockchain.transaction.LedgerInitSettingData; +import com.jd.blockchain.transaction.LedgerInitData; import com.jd.blockchain.utils.Bytes; import com.jd.blockchain.utils.net.NetworkAddress; @@ -36,7 +36,7 @@ public class LedgerInitOperationTest { byte[] seed = null; byte[] csSysSettingBytes = null; - LedgerInitSettingData ledgerInitSettingData = new LedgerInitSettingData(); + LedgerInitData ledgerInitSettingData = new LedgerInitData(); @Before public void initCfg() { diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java index 1914f17b..46c96f65 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java @@ -24,14 +24,14 @@ import com.jd.blockchain.ledger.core.CryptoConfig; import com.jd.blockchain.ledger.core.ParticipantCertData; import com.jd.blockchain.transaction.ConsensusParticipantData; import com.jd.blockchain.transaction.LedgerInitOpTemplate; -import com.jd.blockchain.transaction.LedgerInitSettingData; +import com.jd.blockchain.transaction.LedgerInitData; import com.jd.blockchain.utils.Bytes; import com.jd.blockchain.utils.net.NetworkAddress; public class LedgerInitSettingSerializeTest { byte[] seed = null; byte[] csSysSettingBytes = null; - LedgerInitSettingData ledgerInitSettingData = new LedgerInitSettingData(); + LedgerInitData ledgerInitSettingData = new LedgerInitData(); LedgerInitOpTemplate template = new LedgerInitOpTemplate(); private static final String[] SUPPORTED_PROVIDERS = { ClassicCryptoService.class.getName(), diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java index fe2a1f19..cf3a294d 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java @@ -44,7 +44,7 @@ import com.jd.blockchain.ledger.core.UserAccount; import com.jd.blockchain.ledger.core.UserAccountSet; import com.jd.blockchain.storage.service.utils.MemoryKVStorage; import com.jd.blockchain.transaction.ConsensusParticipantData; -import com.jd.blockchain.transaction.LedgerInitSettingData; +import com.jd.blockchain.transaction.LedgerInitData; import com.jd.blockchain.transaction.TxBuilder; import com.jd.blockchain.utils.Bytes; import com.jd.blockchain.utils.io.BytesUtils; @@ -202,7 +202,7 @@ public class LedgerManagerTest { defCryptoSetting.setAutoVerifyHash(true); defCryptoSetting.setHashAlgorithm(ClassicAlgorithm.SHA256); - LedgerInitSettingData initSetting = new LedgerInitSettingData(); + LedgerInitData initSetting = new LedgerInitData(); initSetting.setLedgerSeed(BytesUtils.toBytes("A Test Ledger seed!", "UTF-8")); initSetting.setCryptoSetting(defCryptoSetting); diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java index 44c15b92..eb6835b5 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java @@ -21,7 +21,7 @@ import com.jd.blockchain.ledger.TransactionResponse; import com.jd.blockchain.ledger.core.CryptoConfig; import com.jd.blockchain.ledger.core.TransactionStagedSnapshot; import com.jd.blockchain.transaction.ConsensusParticipantData; -import com.jd.blockchain.transaction.LedgerInitSettingData; +import com.jd.blockchain.transaction.LedgerInitData; import com.jd.blockchain.transaction.TransactionService; import com.jd.blockchain.transaction.TxBuilder; import com.jd.blockchain.utils.Bytes; @@ -62,7 +62,7 @@ public class LedgerTestUtils { defCryptoSetting.setAutoVerifyHash(true); defCryptoSetting.setHashAlgorithm(ClassicAlgorithm.SHA256); - LedgerInitSettingData initSetting = new LedgerInitSettingData(); + LedgerInitData initSetting = new LedgerInitData(); initSetting.setLedgerSeed(BytesUtils.toBytes("A Test Ledger seed!", "UTF-8")); initSetting.setCryptoSetting(defCryptoSetting); diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java new file mode 100644 index 00000000..ea1822e2 --- /dev/null +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java @@ -0,0 +1,48 @@ +package com.jd.blockchain.ledger; + +public class RoleInitData implements RoleInitSettings { + + private String roleName; + + private LedgerPermission[] ledgerPermissions; + + private TransactionPermission[] transactionPermissions; + + public RoleInitData() { + } + + public RoleInitData(String roleName, LedgerPermission[] ledgerPermissions, + TransactionPermission[] transactionPermissions) { + this.roleName = roleName; + this.ledgerPermissions = ledgerPermissions; + this.transactionPermissions = transactionPermissions; + } + + @Override + public String getRoleName() { + return roleName; + } + + @Override + public LedgerPermission[] getLedgerPermissions() { + return ledgerPermissions; + } + + @Override + public TransactionPermission[] getTransactionPermissions() { + return transactionPermissions; + } + + public void setRoleName(String roleName) { + this.roleName = roleName; + } + + public void setLedgerPermissions(LedgerPermission[] ledgerPermissions) { + this.ledgerPermissions = ledgerPermissions; + } + + public void setTransactionPermissions(TransactionPermission[] transactionPermissions) { + this.transactionPermissions = transactionPermissions; + } + +} diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java new file mode 100644 index 00000000..bdfddb52 --- /dev/null +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java @@ -0,0 +1,41 @@ +package com.jd.blockchain.ledger; + +import com.jd.blockchain.binaryproto.DataContract; +import com.jd.blockchain.binaryproto.DataField; +import com.jd.blockchain.binaryproto.PrimitiveType; +import com.jd.blockchain.consts.DataCodes; + +/** + * 角色参数设置; + * + * @author huanghaiquan + * + */ +@DataContract(code = DataCodes.METADATA_ROLE_INIT_SETTING) +public interface RoleInitSettings { + + /** + * 角色名称; + * + * @return + */ + @DataField(order = 0, primitiveType = PrimitiveType.TEXT) + String getRoleName(); + + /** + * 角色的账本权限; + * + * @return + */ + @DataField(order = 1, refEnum = true, list = true) + LedgerPermission[] getLedgerPermissions(); + + /** + * 角色的交易权限; + * + * @return + */ + @DataField(order = 2, refEnum = true, list = true) + TransactionPermission[] getTransactionPermissions(); + +} diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java new file mode 100644 index 00000000..9e4a5d55 --- /dev/null +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java @@ -0,0 +1,28 @@ +package com.jd.blockchain.ledger; + +import java.util.ArrayList; +import java.util.List; + +public class SecurityInitData implements SecurityInitSettings { + + private List roles = new ArrayList(); + + @Override + public RoleInitData[] getRoles() { + return roles.toArray(new RoleInitData[roles.size()]); + } + + public void setRoles(RoleInitData[] roles) { + List list = new ArrayList(); + for (RoleInitSettings r : roles) { + list.add(r); + } + this.roles = list; + } + + public void add(String roleName, LedgerPermission[] ledgerPermissions, + TransactionPermission[] transactionPermissions) { + RoleInitData roleInitData = new RoleInitData(roleName, ledgerPermissions, transactionPermissions); + roles.add(roleInitData); + } +} diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java new file mode 100644 index 00000000..32e5838e --- /dev/null +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java @@ -0,0 +1,24 @@ +package com.jd.blockchain.ledger; + +import com.jd.blockchain.binaryproto.DataContract; +import com.jd.blockchain.binaryproto.DataField; +import com.jd.blockchain.consts.DataCodes; + +/** + * 安全权限的初始化; + * + * @author huanghaiquan + * + */ +@DataContract(code = DataCodes.METADATA_SECURITY_INIT_SETTING) +public interface SecurityInitSettings { + + /** + * 角色列表; + * + * @return + */ + @DataField(order = 0, refContract = true, list = true) + RoleInitSettings[] getRoles(); + +} diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitSettingData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitData.java similarity index 95% rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitSettingData.java rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitData.java index a6f6045a..35215e53 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitSettingData.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitData.java @@ -5,7 +5,7 @@ import com.jd.blockchain.utils.Bytes; import com.jd.blockchain.ledger.CryptoSetting; import com.jd.blockchain.ledger.LedgerInitSetting; -public class LedgerInitSettingData implements LedgerInitSetting { +public class LedgerInitData implements LedgerInitSetting { private byte[] ledgerSeed; diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java new file mode 100644 index 00000000..fab4c57a --- /dev/null +++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java @@ -0,0 +1,82 @@ +package test.com.jd.blockchain.ledger; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; + +import com.jd.blockchain.binaryproto.BinaryProtocol; +import com.jd.blockchain.ledger.LedgerPermission; +import com.jd.blockchain.ledger.SecurityInitData; +import com.jd.blockchain.ledger.SecurityInitSettings; +import com.jd.blockchain.ledger.TransactionPermission; +import com.jd.blockchain.utils.serialize.json.JSONSerializeUtils; + +public class SecurityInitDataTest { + + @Test + public void testEnumsSerialization() { + LedgerPermission[] permissions = JSONSerializeUtils.deserializeFromJSON("[\"REGISTER_USER\",\"REGISTER_DATA_ACCOUNT\"]", LedgerPermission[].class); + assertNotNull(permissions); + assertEquals(2, permissions.length); + assertEquals(LedgerPermission.REGISTER_USER, permissions[0]); + assertEquals(LedgerPermission.REGISTER_DATA_ACCOUNT, permissions[1]); + + LedgerPermission[] permissions2 = JSONSerializeUtils.deserializeFromJSON("['REGISTER_USER', 'REGISTER_DATA_ACCOUNT']", LedgerPermission[].class); + assertNotNull(permissions2); + assertEquals(2, permissions2.length); + assertEquals(LedgerPermission.REGISTER_USER, permissions2[0]); + assertEquals(LedgerPermission.REGISTER_DATA_ACCOUNT, permissions2[1]); + + } + + @Test + public void testSecurityInitDataSerialization() { + + SecurityInitData securityInitData = new SecurityInitData(); + + securityInitData.add("DEFAULT", + new LedgerPermission[] { LedgerPermission.REGISTER_USER, LedgerPermission.REGISTER_DATA_ACCOUNT }, + new TransactionPermission[] { TransactionPermission.CONTRACT_OPERATION }); + securityInitData.add("ADMIN", + new LedgerPermission[] { LedgerPermission.REGISTER_USER, LedgerPermission.REGISTER_DATA_ACCOUNT }, + new TransactionPermission[] { TransactionPermission.DIRECT_OPERATION, + TransactionPermission.CONTRACT_OPERATION }); + securityInitData.add("R1", + new LedgerPermission[] { LedgerPermission.REGISTER_USER, LedgerPermission.REGISTER_DATA_ACCOUNT }, + null); + securityInitData.add("R2", null, new TransactionPermission[] { TransactionPermission.DIRECT_OPERATION, + TransactionPermission.CONTRACT_OPERATION }); + + String json = JSONSerializeUtils.serializeToJSON(securityInitData, true); + System.out.println("----------- JSON ------------"); + System.out.println(json); + System.out.println("-----------------------"); + + SecurityInitData desSecurityInitData = JSONSerializeUtils.deserializeFromJSON(json, SecurityInitData.class); + + String json2 = JSONSerializeUtils.serializeToJSON(desSecurityInitData, true); + System.out.println("----------- JSON2 ------------"); + System.out.println(json2); + System.out.println("-----------------------"); + + assertEquals(json, json2); + + byte[] bytes = BinaryProtocol.encode(securityInitData, SecurityInitSettings.class); + + SecurityInitSettings securityInitData2 = BinaryProtocol.decode(bytes); + + byte[] bytes2 = BinaryProtocol.encode(securityInitData2, SecurityInitSettings.class); + + assertArrayEquals(bytes, bytes2); + + assertEquals(4, securityInitData2.getRoles().length); + assertEquals(securityInitData.getRoles().length, securityInitData2.getRoles().length); + assertEquals(LedgerPermission.REGISTER_USER, securityInitData2.getRoles()[1].getLedgerPermissions()[0]); + assertEquals(securityInitData.getRoles()[1].getLedgerPermissions()[0], securityInitData2.getRoles()[1].getLedgerPermissions()[0]); + assertEquals(securityInitData.getRoles()[1].getLedgerPermissions()[1], securityInitData2.getRoles()[1].getLedgerPermissions()[1]); + + } + +} diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerInitSettings.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerInitSettings.java index d4f287ab..cc6ca054 100644 --- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerInitSettings.java +++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerInitSettings.java @@ -1,96 +1,96 @@ -package com.jd.blockchain.sdk; - - -import com.jd.blockchain.consensus.ConsensusSettings; -import com.jd.blockchain.crypto.HashDigest; -import com.jd.blockchain.ledger.CryptoSetting; -import com.jd.blockchain.ledger.ParticipantNode; - -/** - * 账本初始化配置 - * - * @author shaozhuguang - * @date 2019-04-23 - * @since 1.0.0 - * - */ -public class LedgerInitSettings { - - /** - * 账本初始化种子 - */ - private String seed; - - /** - * 共识参与方的默克尔树的根; - */ - private HashDigest participantsHash; - - /** - * 算法配置 - */ - private CryptoSetting cryptoSetting; - - /** - * 共识协议 - */ - private String consensusProtocol; - - /** - * 共识配置 - */ - private ConsensusSettings consensusSettings; - - /** - * 共识参与方 - */ - private ParticipantNode[] participantNodes; - - public void setSeed(String seed) { - this.seed = seed; - } - - public String getSeed() { - return seed; - } - - public HashDigest getParticipantsHash() { - return participantsHash; - } - - public void setParticipantsHash(HashDigest participantsHash) { - this.participantsHash = participantsHash; - } - - public CryptoSetting getCryptoSetting() { - return cryptoSetting; - } - - public void setCryptoSetting(CryptoSetting cryptoSetting) { - this.cryptoSetting = cryptoSetting; - } - - public String getConsensusProtocol() { - return consensusProtocol; - } - - public void setConsensusProtocol(String consensusProtocol) { - this.consensusProtocol = consensusProtocol; - } - - public ConsensusSettings getConsensusSettings() { - return consensusSettings; - } - - public void setConsensusSettings(ConsensusSettings consensusSettings) { - this.consensusSettings = consensusSettings; - } - - public ParticipantNode[] getParticipantNodes() { - return participantNodes; - } - - public void setParticipantNodes(ParticipantNode[] participantNodes) { - this.participantNodes = participantNodes; - } -} +//package com.jd.blockchain.sdk; +// +// +//import com.jd.blockchain.consensus.ConsensusSettings; +//import com.jd.blockchain.crypto.HashDigest; +//import com.jd.blockchain.ledger.CryptoSetting; +//import com.jd.blockchain.ledger.ParticipantNode; +// +///** +// * 账本初始化配置 +// * +// * @author shaozhuguang +// * @date 2019-04-23 +// * @since 1.0.0 +// * +// */ +//public class LedgerInitSettings { +// +// /** +// * 账本初始化种子 +// */ +// private String seed; +// +// /** +// * 共识参与方的默克尔树的根; +// */ +// private HashDigest participantsHash; +// +// /** +// * 算法配置 +// */ +// private CryptoSetting cryptoSetting; +// +// /** +// * 共识协议 +// */ +// private String consensusProtocol; +// +// /** +// * 共识配置 +// */ +// private ConsensusSettings consensusSettings; +// +// /** +// * 共识参与方 +// */ +// private ParticipantNode[] participantNodes; +// +// public void setSeed(String seed) { +// this.seed = seed; +// } +// +// public String getSeed() { +// return seed; +// } +// +// public HashDigest getParticipantsHash() { +// return participantsHash; +// } +// +// public void setParticipantsHash(HashDigest participantsHash) { +// this.participantsHash = participantsHash; +// } +// +// public CryptoSetting getCryptoSetting() { +// return cryptoSetting; +// } +// +// public void setCryptoSetting(CryptoSetting cryptoSetting) { +// this.cryptoSetting = cryptoSetting; +// } +// +// public String getConsensusProtocol() { +// return consensusProtocol; +// } +// +// public void setConsensusProtocol(String consensusProtocol) { +// this.consensusProtocol = consensusProtocol; +// } +// +// public ConsensusSettings getConsensusSettings() { +// return consensusSettings; +// } +// +// public void setConsensusSettings(ConsensusSettings consensusSettings) { +// this.consensusSettings = consensusSettings; +// } +// +// public ParticipantNode[] getParticipantNodes() { +// return participantNodes; +// } +// +// public void setParticipantNodes(ParticipantNode[] participantNodes) { +// this.participantNodes = participantNodes; +// } +//} diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java index 86011bd7..68b82f14 100644 --- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java +++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java @@ -37,7 +37,7 @@ import com.jd.blockchain.transaction.DataAccountKVSetOpTemplate; import com.jd.blockchain.transaction.DataAccountRegisterOpTemplate; import com.jd.blockchain.transaction.KVData; import com.jd.blockchain.transaction.LedgerInitOpTemplate; -import com.jd.blockchain.transaction.LedgerInitSettingData; +import com.jd.blockchain.transaction.LedgerInitData; import com.jd.blockchain.transaction.UserRegisterOpTemplate; import com.jd.blockchain.utils.Bytes; import com.jd.blockchain.utils.codec.Base58Utils; @@ -173,7 +173,7 @@ public class ClientResolveUtil { public static LedgerInitOperation convertLedgerInitOperation(JSONObject jsonObject) { JSONObject legerInitObj = jsonObject.getJSONObject("initSetting"); - LedgerInitSettingData ledgerInitSettingData = new LedgerInitSettingData(); + LedgerInitData ledgerInitSettingData = new LedgerInitData(); String ledgerSeedStr = legerInitObj.getString("ledgerSeed"); // 种子需要做Base64转换 diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java index 4fdc4f85..eab29145 100644 --- a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java +++ b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java @@ -328,7 +328,7 @@ public class LedgerInitializeWebController implements LedgerInitProcess, LedgerI public LedgerInitProposal prepareLocalPermission(int currentId, PrivKey privKey, LedgerInitProperties ledgerProps, ConsensusSettings csSettings, CryptoSetting cryptoSetting) { // 创建初始化配置; - LedgerInitSettingData initSetting = new LedgerInitSettingData(); + LedgerInitData initSetting = new LedgerInitData(); initSetting.setLedgerSeed(ledgerProps.getLedgerSeed()); initSetting.setCryptoSetting(cryptoSetting); diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java b/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java index d8bd2c14..fe9f332b 100644 --- a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java +++ b/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java @@ -203,7 +203,7 @@ public class MockerLedgerInitializer implements LedgerInitProcess, LedgerInitCon public LedgerInitProposal prepareLocalProposal(int currentId, PrivKey privKey, LedgerInitProperties ledgerProps, ConsensusSettings csSettings, CryptoSetting cryptoSetting) { // 创建初始化配置; - LedgerInitSettingData initSetting = new LedgerInitSettingData(); + LedgerInitData initSetting = new LedgerInitData(); initSetting.setLedgerSeed(ledgerProps.getLedgerSeed()); initSetting.setCryptoSetting(cryptoSetting);