diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java
index 1e82ee0f..ca07c0b9 100644
--- a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java
+++ b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java
@@ -3,16 +3,22 @@ package com.jd.blockchain.consensus.bftsmart.service;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
+import bftsmart.reconfiguration.util.TOMConfiguration;
import com.jd.blockchain.consensus.ClientIdentification;
import com.jd.blockchain.consensus.ConsensusManageService;
import com.jd.blockchain.consensus.bftsmart.BftsmartClientIncomingConfig;
import com.jd.blockchain.consensus.bftsmart.BftsmartClientIncomingSettings;
+import com.jd.blockchain.consensus.bftsmart.BftsmartTopology;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.SignatureFunction;
import com.jd.blockchain.utils.serialize.binary.BinarySerializeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class BftsmartConsensusManageService implements ConsensusManageService {
+ private static Logger LOGGER = LoggerFactory.getLogger(BftsmartConsensusManageService.class);
+
public static final int GATEWAY_SIZE = 100;
public static final int CLIENT_SIZE_PER_GATEWAY = 1000;
@@ -34,6 +40,12 @@ public class BftsmartConsensusManageService implements ConsensusManageService {
@Override
public BftsmartClientIncomingSettings authClientIncoming(ClientIdentification authId) {
if (verify(authId)) {
+ byte[] topology = BinarySerializeUtils.serialize(nodeServer.getTopology());
+ byte[] tomConfig = BinarySerializeUtils.serialize(nodeServer.getTomConfig());
+
+ LOGGER.info("topology:{}, tomConfig:{}", topology == null ? 0 : topology.length,
+ tomConfig == null ? 0: tomConfig.length);
+
BftsmartClientIncomingConfig clientIncomingSettings = new BftsmartClientIncomingConfig();
clientIncomingSettings
diff --git a/source/sdk/sdk-base/pom.xml b/source/sdk/sdk-base/pom.xml
index 06c664fc..a4633d66 100644
--- a/source/sdk/sdk-base/pom.xml
+++ b/source/sdk/sdk-base/pom.xml
@@ -40,6 +40,12 @@
+
+ com.jd.blockchain
+ consensus-bftsmart
+ ${project.version}
+
+
com.jd.blockchain
utils-serialize
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
index 1d76163e..e63f092a 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
@@ -1,6 +1,7 @@
package com.jd.blockchain.sdk.service;
import com.jd.blockchain.consensus.*;
+import com.jd.blockchain.consensus.bftsmart.client.BftsmartClientSettings;
import com.jd.blockchain.consensus.client.ClientFactory;
import com.jd.blockchain.consensus.client.ClientSettings;
import com.jd.blockchain.consensus.client.ConsensusClient;
@@ -152,6 +153,15 @@ public class PeerBlockchainServiceFactory implements BlockchainServiceFactory, C
ClientSettings clientSettings = clientFactory.buildClientSettings(clientIncomingSettings);
ConsensusClient consensusClient = clientFactory.setupClient(clientSettings);
+ if (clientSettings instanceof BftsmartClientSettings) {
+ BftsmartClientSettings bftsmartClientSettings = (BftsmartClientSettings) clientSettings;
+ byte[] topology = bftsmartClientSettings.getTopology();
+ byte[] tomConfig = bftsmartClientSettings.getTomConfig();
+ LOGGER.info("Peer[{}] ledger = [{}] topology : {}, tomConfig : {}", peerAddr,
+ ledgerSetting.getLedgerHash().toBase58(), topology == null ? 0 : topology.length ,
+ tomConfig == null ? 0 : tomConfig.length);
+ }
+
TransactionService autoSigningTxProcService = enableGatewayAutoSigning(gatewayKey,
ledgerSetting.getCryptoSetting(), consensusClient);