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 26b52692..607c051d 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 @@ -58,13 +58,13 @@ public interface DataCodes { public static final int TX_OP_RESULT = 0x370; - public static final int TX_OP_ROLE_CONFIGURE = 0x370; + public static final int TX_OP_ROLE_CONFIGURE = 0x371; - public static final int TX_OP_ROLE_CONFIGURE_ENTRY = 0x371; + public static final int TX_OP_ROLE_CONFIGURE_ENTRY = 0x372; - public static final int TX_OP_USER_ROLES_AUTHORIZE = 0x372; + public static final int TX_OP_USER_ROLES_AUTHORIZE = 0x373; - public static final int TX_OP_USER_ROLE_AUTHORIZE_ENTRY = 0x373; + public static final int TX_OP_USER_ROLE_AUTHORIZE_ENTRY = 0x374; // enum types of permissions; public static final int ENUM_TX_PERMISSION = 0x401; diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java index 45078129..c9212bb2 100644 --- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java +++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java @@ -30,10 +30,11 @@ public class ParticipantCertData implements ParticipantNode { this.participantNodeState = participantNode.getParticipantNodeState(); } - public ParticipantCertData(Bytes address, String name, PubKey pubKey) { + public ParticipantCertData(Bytes address, String name, PubKey pubKey, ParticipantNodeState participantNodeState) { this.address = address; this.name = name; this.pubKey = pubKey; + this.participantNodeState = participantNodeState; } @Override @@ -51,6 +52,7 @@ public class ParticipantCertData implements ParticipantNode { return pubKey; } + @Override public int getId() { return id; } diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java index c05c3f1b..77cf7024 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java @@ -15,33 +15,13 @@ import static org.mockito.Mockito.when; import java.util.Random; +import com.jd.blockchain.ledger.*; import org.junit.Test; import org.mockito.Mockito; import com.jd.blockchain.binaryproto.BinaryProtocol; import com.jd.blockchain.binaryproto.DataContractRegistry; import com.jd.blockchain.crypto.HashDigest; -import com.jd.blockchain.ledger.BlockchainKeyGenerator; -import com.jd.blockchain.ledger.BlockchainKeypair; -import com.jd.blockchain.ledger.BytesData; -import com.jd.blockchain.ledger.BytesValue; -import com.jd.blockchain.ledger.DataAccountRegisterOperation; -import com.jd.blockchain.ledger.EndpointRequest; -import com.jd.blockchain.ledger.KVDataEntry; -import com.jd.blockchain.ledger.LedgerBlock; -import com.jd.blockchain.ledger.LedgerInitSetting; -import com.jd.blockchain.ledger.LedgerPermission; -import com.jd.blockchain.ledger.LedgerTransaction; -import com.jd.blockchain.ledger.NodeRequest; -import com.jd.blockchain.ledger.OperationResult; -import com.jd.blockchain.ledger.TransactionContent; -import com.jd.blockchain.ledger.TransactionContentBody; -import com.jd.blockchain.ledger.TransactionPermission; -import com.jd.blockchain.ledger.TransactionRequest; -import com.jd.blockchain.ledger.TransactionRequestBuilder; -import com.jd.blockchain.ledger.TransactionResponse; -import com.jd.blockchain.ledger.TransactionState; -import com.jd.blockchain.ledger.UserRegisterOperation; import com.jd.blockchain.ledger.core.DefaultOperationHandleRegisteration; import com.jd.blockchain.ledger.core.LedgerDataQuery; import com.jd.blockchain.ledger.core.LedgerDataset; @@ -75,6 +55,9 @@ public class ContractInvokingTest { DataContractRegistry.register(TransactionResponse.class); DataContractRegistry.register(UserRegisterOperation.class); DataContractRegistry.register(DataAccountRegisterOperation.class); + DataContractRegistry.register(ParticipantNode.class); + DataContractRegistry.register(ParticipantRegisterOperation.class); + DataContractRegistry.register(ParticipantStateUpdateOperation.class); } private static final String LEDGER_KEY_PREFIX = "LDG://"; 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 e591aa7f..c8ec5e93 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 @@ -10,6 +10,7 @@ import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.Random; +import com.jd.blockchain.ledger.*; import org.junit.Test; import com.jd.blockchain.crypto.AddressEncoding; @@ -19,19 +20,6 @@ import com.jd.blockchain.crypto.HashDigest; import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm; import com.jd.blockchain.crypto.service.classic.ClassicCryptoService; import com.jd.blockchain.crypto.service.sm.SMCryptoService; -import com.jd.blockchain.ledger.BlockchainKeyGenerator; -import com.jd.blockchain.ledger.BlockchainKeypair; -import com.jd.blockchain.ledger.LedgerAdminInfo; -import com.jd.blockchain.ledger.LedgerMetadata_V2; -import com.jd.blockchain.ledger.LedgerPermission; -import com.jd.blockchain.ledger.LedgerSettings; -import com.jd.blockchain.ledger.ParticipantNode; -import com.jd.blockchain.ledger.RolePrivilegeSettings; -import com.jd.blockchain.ledger.RolePrivileges; -import com.jd.blockchain.ledger.RolesPolicy; -import com.jd.blockchain.ledger.TransactionPermission; -import com.jd.blockchain.ledger.UserRolesSettings; -import com.jd.blockchain.ledger.UserRoles; import com.jd.blockchain.ledger.core.CryptoConfig; import com.jd.blockchain.ledger.core.LedgerAdminDataset; import com.jd.blockchain.ledger.core.LedgerConfiguration; @@ -62,6 +50,7 @@ public class LedgerAdminDatasetTest { parties[i].setHostAddress(new NetworkAddress("192.168.10." + (10 + i), 10010 + 10 * i)); parties[i].setName("Participant[" + i + "]"); parties[i].setPubKey(bckeys[i].getPubKey()); + parties[i].setParticipantState(ParticipantNodeState.CONSENSUSED); } ConsensusParticipantData[] parties1 = Arrays.copyOf(parties, 4); initSetting.setConsensusParticipants(parties1); 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 8c245fa2..e3c36a73 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 @@ -6,6 +6,7 @@ import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.Random; +import com.jd.blockchain.ledger.*; import org.junit.Before; import org.junit.Test; @@ -17,10 +18,6 @@ import com.jd.blockchain.crypto.CryptoProvider; import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm; import com.jd.blockchain.crypto.service.classic.ClassicCryptoService; import com.jd.blockchain.crypto.service.sm.SMCryptoService; -import com.jd.blockchain.ledger.BlockchainKeyGenerator; -import com.jd.blockchain.ledger.BlockchainKeypair; -import com.jd.blockchain.ledger.LedgerInitOperation; -import com.jd.blockchain.ledger.LedgerInitSetting; import com.jd.blockchain.ledger.core.CryptoConfig; import com.jd.blockchain.ledger.core.ParticipantCertData; import com.jd.blockchain.transaction.ConsensusParticipantData; @@ -80,6 +77,7 @@ public class LedgerInitOperationTest { parties[i].setHostAddress(new NetworkAddress("192.168.10." + (10 + i), 10010 + 10 * i)); parties[i].setName("Participant[" + i + "]"); parties[i].setPubKey(keys[i].getPubKey()); + parties[i].setParticipantState(ParticipantNodeState.CONSENSUSED); } ConsensusParticipantData[] parties1 = Arrays.copyOf(parties, 4); @@ -118,7 +116,7 @@ public class LedgerInitOperationTest { for (int i = 0; i < parties.length; i++) { keys[i] = BlockchainKeyGenerator.getInstance().generate(); parties[i] = new ParticipantCertData(AddressEncoding.generateAddress(keys[i].getPubKey()), - "Participant[" + i + "]", keys[i].getPubKey()); + "Participant[" + i + "]", keys[i].getPubKey(), ParticipantNodeState.CONSENSUSED); } ParticipantCertData[] parties1 = Arrays.copyOf(parties, 4); 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 46c96f65..2485cbd0 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 @@ -6,6 +6,7 @@ import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.Random; +import com.jd.blockchain.ledger.ParticipantNodeState; import org.junit.Before; import org.junit.Test; @@ -80,6 +81,7 @@ public class LedgerInitSettingSerializeTest { parties[i].setHostAddress(new NetworkAddress("192.168.10." + (10 + i), 10010 + 10 * i)); parties[i].setName("Participant[" + i + "]"); parties[i].setPubKey(keys[i].getPubKey()); + parties[i].setParticipantState(ParticipantNodeState.CONSENSUSED); } ConsensusParticipantData[] parties1 = Arrays.copyOf(parties, 4); @@ -122,7 +124,7 @@ public class LedgerInitSettingSerializeTest { for (int i = 0; i < parties.length; i++) { keys[i] = BlockchainKeyGenerator.getInstance().generate(); parties[i] = new ParticipantCertData(AddressEncoding.generateAddress(keys[i].getPubKey()), - "Participant[" + i + "]", keys[i].getPubKey()); + "Participant[" + i + "]", keys[i].getPubKey(), ParticipantNodeState.CONSENSUSED); } ParticipantCertData[] parties1 = Arrays.copyOf(parties, 4); 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 d814326d..6438ceb9 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 @@ -45,6 +45,7 @@ public class LedgerManagerTest { DataContractRegistry.register(TransactionContent.class); DataContractRegistry.register(UserRegisterOperation.class); DataContractRegistry.register(DataAccountRegisterOperation.class); + DataContractRegistry.register(ParticipantNode.class); DataContractRegistry.register(ParticipantRegisterOperation.class); DataContractRegistry.register(ParticipantStateUpdateOperation.class); DataContractRegistry.register(BlockBody.class); @@ -204,6 +205,7 @@ public class LedgerManagerTest { parties[0].setPubKey(kp0.getPubKey()); parties[0].setAddress(AddressEncoding.generateAddress(kp0.getPubKey())); parties[0].setHostAddress(new NetworkAddress("127.0.0.1", 9000)); + parties[0].setParticipantState(ParticipantNodeState.CONSENSUSED); parties[1] = new ConsensusParticipantData(); parties[1].setId(1); @@ -212,6 +214,7 @@ public class LedgerManagerTest { parties[1].setPubKey(kp1.getPubKey()); parties[1].setAddress(AddressEncoding.generateAddress(kp1.getPubKey())); parties[1].setHostAddress(new NetworkAddress("127.0.0.1", 9010)); + parties[1].setParticipantState(ParticipantNodeState.CONSENSUSED); parties[2] = new ConsensusParticipantData(); parties[2].setId(2); @@ -220,6 +223,7 @@ public class LedgerManagerTest { parties[2].setPubKey(kp2.getPubKey()); parties[2].setAddress(AddressEncoding.generateAddress(kp2.getPubKey())); parties[2].setHostAddress(new NetworkAddress("127.0.0.1", 9020)); + parties[2].setParticipantState(ParticipantNodeState.CONSENSUSED); parties[3] = new ConsensusParticipantData(); parties[3].setId(3); @@ -228,6 +232,7 @@ public class LedgerManagerTest { parties[3].setPubKey(kp3.getPubKey()); parties[3].setAddress(AddressEncoding.generateAddress(kp3.getPubKey())); parties[3].setHostAddress(new NetworkAddress("127.0.0.1", 9030)); + parties[3].setParticipantState(ParticipantNodeState.CONSENSUSED); initSetting.setConsensusParticipants(parties); diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java index e7cba7ad..6f208323 100644 --- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java +++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java @@ -7,8 +7,7 @@ import static org.junit.Assert.assertTrue; import java.util.Random; -import com.jd.blockchain.ledger.LedgerMetadata; -import com.jd.blockchain.ledger.LedgerSettings; +import com.jd.blockchain.ledger.*; import org.junit.Before; import org.junit.Test; @@ -23,8 +22,6 @@ import com.jd.blockchain.crypto.PubKey; import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm; import com.jd.blockchain.crypto.service.classic.ClassicCryptoService; import com.jd.blockchain.crypto.service.sm.SMCryptoService; -import com.jd.blockchain.ledger.CryptoSetting; -import com.jd.blockchain.ledger.ParticipantNode; import com.jd.blockchain.ledger.core.CryptoConfig; import com.jd.blockchain.ledger.core.LedgerAdminDataset; import com.jd.blockchain.ledger.core.LedgerConfiguration; @@ -189,7 +186,7 @@ public class LedgerMetaDataTest { // NetworkAddress consensusAddress = new NetworkAddress("192.168.1.1", 9001, // false); Bytes address = AddressEncoding.generateAddress(pubKey); - ParticipantCertData participantCertData = new ParticipantCertData(address, name, pubKey); + ParticipantCertData participantCertData = new ParticipantCertData(address, name, pubKey, ParticipantNodeState.CONSENSUSED); // encode and decode byte[] encodeBytes = BinaryProtocol.encode(participantCertData, ParticipantNode.class); 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 eb6835b5..be201848 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 @@ -11,13 +11,7 @@ import com.jd.blockchain.crypto.SignatureFunction; import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm; import com.jd.blockchain.crypto.service.classic.ClassicCryptoService; import com.jd.blockchain.crypto.service.sm.SMCryptoService; -import com.jd.blockchain.ledger.BlockchainKeyGenerator; -import com.jd.blockchain.ledger.BlockchainKeypair; -import com.jd.blockchain.ledger.CryptoSetting; -import com.jd.blockchain.ledger.LedgerInitSetting; -import com.jd.blockchain.ledger.TransactionRequest; -import com.jd.blockchain.ledger.TransactionRequestBuilder; -import com.jd.blockchain.ledger.TransactionResponse; +import com.jd.blockchain.ledger.*; import com.jd.blockchain.ledger.core.CryptoConfig; import com.jd.blockchain.ledger.core.TransactionStagedSnapshot; import com.jd.blockchain.transaction.ConsensusParticipantData; @@ -74,6 +68,7 @@ public class LedgerTestUtils { parties[i].setPubKey(partiKeys[i].getPubKey()); parties[i].setAddress(AddressEncoding.generateAddress(partiKeys[i].getPubKey())); parties[i].setHostAddress(new NetworkAddress("192.168.1." + (10 + i), 9000)); + parties[i].setParticipantState(ParticipantNodeState.CONSENSUSED); } diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java index ad946049..86900b1c 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java @@ -441,6 +441,7 @@ public class LedgerInitProperties { private NetworkAddress initializerAddress; + @Override public int getId() { return id; } @@ -454,6 +455,7 @@ public class LedgerInitProperties { return address; } + @Override public String getName() { return name; } @@ -470,6 +472,7 @@ public class LedgerInitProperties { // this.pubKeyPath = pubKeyPath; // } + @Override public ParticipantNodeState getParticipantNodeState() { return participantNodeState; } @@ -486,6 +489,7 @@ public class LedgerInitProperties { this.initializerAddress = initializerAddress; } + @Override public PubKey getPubKey() { return pubKey; } diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java index 7b5cfd17..e182ced1 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java @@ -20,7 +20,7 @@ public class ConsensusParticipantData implements ParticipantNode { private ParticipantNodeState participantNodeState; - + @Override public int getId() { return id; } @@ -29,6 +29,7 @@ public class ConsensusParticipantData implements ParticipantNode { this.id = id; } + @Override public String getName() { return name; } @@ -37,7 +38,7 @@ public class ConsensusParticipantData implements ParticipantNode { this.name = name; } - public NetworkAddress getConsensusAddress() { + public NetworkAddress getHostAddress() { return hostAddress; } @@ -45,6 +46,7 @@ public class ConsensusParticipantData implements ParticipantNode { this.hostAddress = hostAddress; } + @Override public PubKey getPubKey() { return pubKey; } @@ -53,6 +55,7 @@ public class ConsensusParticipantData implements ParticipantNode { this.pubKey = pubKey; } + @Override public Bytes getAddress() { return address; } @@ -61,6 +64,7 @@ public class ConsensusParticipantData implements ParticipantNode { this.address = address; } + @Override public ParticipantNodeState getParticipantNodeState() { return participantNodeState; }