diff --git a/source/consensus/consensus-bftsmart/pom.xml b/core/consensus/consensus-bftsmart/pom.xml
similarity index 100%
rename from source/consensus/consensus-bftsmart/pom.xml
rename to core/consensus/consensus-bftsmart/pom.xml
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingConfig.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingConfig.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingConfig.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingConfig.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockConfig.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockConfig.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockConfig.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockConfig.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusConfig.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusConfig.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusConfig.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusConfig.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusProvider.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusProvider.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusProvider.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusProvider.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettingsBuilder.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettingsBuilder.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettingsBuilder.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettingsBuilder.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeConfig.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeConfig.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeConfig.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeConfig.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTopology.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTopology.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTopology.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTopology.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTransactionType.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTransactionType.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTransactionType.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartTransactionType.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientConfig.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientConfig.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientConfig.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientConfig.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientIdentification.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientIdentification.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientIdentification.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientIdentification.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientSettings.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientSettings.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientSettings.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartClientSettings.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClient.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClient.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClient.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClient.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClientFactory.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClientFactory.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClientFactory.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartConsensusClientFactory.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartMessageService.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartMessageService.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartMessageService.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartMessageService.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyFactory.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyFactory.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyFactory.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyFactory.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPool.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPool.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPool.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPool.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPoolConfig.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPoolConfig.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPoolConfig.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/client/BftsmartPeerProxyPoolConfig.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartConsensusManageService.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServer.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServer.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServer.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServer.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServerFactory.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServerFactory.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServerFactory.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartNodeServerFactory.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettingConfig.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettingConfig.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettingConfig.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettingConfig.java
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettings.java b/core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettings.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettings.java
rename to core/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/service/BftsmartServerSettings.java
diff --git a/source/consensus/consensus-bftsmart/src/main/resources/bftsmart.config b/core/consensus/consensus-bftsmart/src/main/resources/bftsmart.config
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/main/resources/bftsmart.config
rename to core/consensus/consensus-bftsmart/src/main/resources/bftsmart.config
diff --git a/source/consensus/consensus-bftsmart/src/test/java/test/com/jd/blockchain/consensus/bftsmart/ProxyClientTest.java b/core/consensus/consensus-bftsmart/src/test/java/test/com/jd/blockchain/consensus/bftsmart/ProxyClientTest.java
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/test/java/test/com/jd/blockchain/consensus/bftsmart/ProxyClientTest.java
rename to core/consensus/consensus-bftsmart/src/test/java/test/com/jd/blockchain/consensus/bftsmart/ProxyClientTest.java
diff --git a/source/consensus/consensus-bftsmart/src/test/resources/bftsmart.config b/core/consensus/consensus-bftsmart/src/test/resources/bftsmart.config
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/test/resources/bftsmart.config
rename to core/consensus/consensus-bftsmart/src/test/resources/bftsmart.config
diff --git a/source/consensus/consensus-bftsmart/src/test/resources/system.config b/core/consensus/consensus-bftsmart/src/test/resources/system.config
similarity index 100%
rename from source/consensus/consensus-bftsmart/src/test/resources/system.config
rename to core/consensus/consensus-bftsmart/src/test/resources/system.config
diff --git a/source/consensus/consensus-mq/pom.xml b/core/consensus/consensus-mq/pom.xml
similarity index 100%
rename from source/consensus/consensus-mq/pom.xml
rename to core/consensus/consensus-mq/pom.xml
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusProvider.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusProvider.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusProvider.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusProvider.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusSettingsBuilder.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusSettingsBuilder.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusSettingsBuilder.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/MsgQueueConsensusSettingsBuilder.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/DefaultMessageTransmitter.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/DefaultMessageTransmitter.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/DefaultMessageTransmitter.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/DefaultMessageTransmitter.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MessageTransmitter.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MessageTransmitter.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MessageTransmitter.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MessageTransmitter.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientIdentification.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientIdentification.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientIdentification.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueClientIdentification.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueConsensusClient.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueConsensusClient.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueConsensusClient.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/client/MsgQueueConsensusClient.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueBlockConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueBlockConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueBlockConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueBlockConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientIncomingConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientIncomingConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientIncomingConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueClientIncomingConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueConsensusConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueConsensusConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueConsensusConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueConsensusConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNetworkConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNetworkConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNetworkConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNetworkConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNodeConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNodeConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNodeConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueNodeConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueServerConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueServerConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueServerConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueServerConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/AbstractConsumer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/AbstractConsumer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/AbstractConsumer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/AbstractConsumer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/MsgQueueConsumer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/MsgQueueConsumer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/MsgQueueConsumer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/MsgQueueConsumer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/NatsConsumer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/NatsConsumer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/NatsConsumer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/NatsConsumer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/RabbitConsumer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/RabbitConsumer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/RabbitConsumer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/consumer/RabbitConsumer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/BlockEvent.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/BlockEvent.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/BlockEvent.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/BlockEvent.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/MessageEvent.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/MessageEvent.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/MessageEvent.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/MessageEvent.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/TxBlockedEvent.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/TxBlockedEvent.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/TxBlockedEvent.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/event/TxBlockedEvent.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventProducer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventProducer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventProducer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/BytesEventProducer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEntityFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEntityFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEntityFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEntityFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventInnerEntity.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventInnerEntity.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventInnerEntity.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventInnerEntity.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventProducer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventProducer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventProducer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeEventProducer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeType.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeType.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeType.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/exchange/ExchangeType.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueConfig.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueConfig.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueConfig.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueConfig.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/MsgQueueFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/NatsFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/NatsFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/NatsFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/NatsFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/RabbitFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/RabbitFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/RabbitFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/factory/RabbitFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/MsgQueueProducer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/MsgQueueProducer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/MsgQueueProducer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/MsgQueueProducer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/NatsProducer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/NatsProducer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/NatsProducer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/NatsProducer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/RabbitProducer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/RabbitProducer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/RabbitProducer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/producer/RabbitProducer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/DefaultMsgQueueMessageDispatcher.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/DefaultMsgQueueMessageDispatcher.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/DefaultMsgQueueMessageDispatcher.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/DefaultMsgQueueMessageDispatcher.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/ExtendMsgQueueMessageExecutor.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/ExtendMsgQueueMessageExecutor.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/ExtendMsgQueueMessageExecutor.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/ExtendMsgQueueMessageExecutor.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueConsensusManageService.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueConsensusManageService.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueConsensusManageService.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueConsensusManageService.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageDispatcher.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageDispatcher.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageDispatcher.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageDispatcher.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageExecutor.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageExecutor.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageExecutor.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueMessageExecutor.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServer.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServer.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServer.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServer.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServerFactory.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServerFactory.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServerFactory.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/server/MsgQueueNodeServerFactory.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientSettings.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientSettings.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientSettings.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientSettings.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueServerSettings.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueServerSettings.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueServerSettings.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueServerSettings.java
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/util/MessageConvertUtil.java b/core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/util/MessageConvertUtil.java
similarity index 100%
rename from source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/util/MessageConvertUtil.java
rename to core/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/util/MessageConvertUtil.java
diff --git a/source/consensus/pom.xml b/core/consensus/pom.xml
similarity index 100%
rename from source/consensus/pom.xml
rename to core/consensus/pom.xml
diff --git a/source/contract/README.MD b/core/contract/README.MD
similarity index 100%
rename from source/contract/README.MD
rename to core/contract/README.MD
diff --git a/source/contract/contract-jvm/pom.xml b/core/contract/contract-jvm/pom.xml
similarity index 100%
rename from source/contract/contract-jvm/pom.xml
rename to core/contract/contract-jvm/pom.xml
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/AbstractContractCode.java b/core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/AbstractContractCode.java
similarity index 100%
rename from source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/AbstractContractCode.java
rename to core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/AbstractContractCode.java
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/ContractDefinition.java b/core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/ContractDefinition.java
similarity index 100%
rename from source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/ContractDefinition.java
rename to core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/ContractDefinition.java
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/InstantiatedContractCode.java b/core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/InstantiatedContractCode.java
similarity index 100%
rename from source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/InstantiatedContractCode.java
rename to core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/InstantiatedContractCode.java
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java b/core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java
similarity index 100%
rename from source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java
rename to core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java b/core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java
similarity index 100%
rename from source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java
rename to core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java b/core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java
similarity index 100%
rename from source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java
rename to core/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java
diff --git a/source/contract/contract-maven-plugin/ReadME.MD b/core/contract/contract-maven-plugin/ReadME.MD
similarity index 100%
rename from source/contract/contract-maven-plugin/ReadME.MD
rename to core/contract/contract-maven-plugin/ReadME.MD
diff --git a/source/contract/contract-maven-plugin/conf/jd-com.priv b/core/contract/contract-maven-plugin/conf/jd-com.priv
similarity index 100%
rename from source/contract/contract-maven-plugin/conf/jd-com.priv
rename to core/contract/contract-maven-plugin/conf/jd-com.priv
diff --git a/source/contract/contract-maven-plugin/conf/jd-com.pub b/core/contract/contract-maven-plugin/conf/jd-com.pub
similarity index 100%
rename from source/contract/contract-maven-plugin/conf/jd-com.pub
rename to core/contract/contract-maven-plugin/conf/jd-com.pub
diff --git a/source/contract/contract-maven-plugin/conf/ownerPassword.txt b/core/contract/contract-maven-plugin/conf/ownerPassword.txt
similarity index 100%
rename from source/contract/contract-maven-plugin/conf/ownerPassword.txt
rename to core/contract/contract-maven-plugin/conf/ownerPassword.txt
diff --git a/source/contract/contract-maven-plugin/pom.xml b/core/contract/contract-maven-plugin/pom.xml
similarity index 100%
rename from source/contract/contract-maven-plugin/pom.xml
rename to core/contract/contract-maven-plugin/pom.xml
diff --git a/source/contract/contract-maven-plugin/readme.txt b/core/contract/contract-maven-plugin/readme.txt
similarity index 100%
rename from source/contract/contract-maven-plugin/readme.txt
rename to core/contract/contract-maven-plugin/readme.txt
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployExeUtil.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployExeUtil.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployExeUtil.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployExeUtil.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/AbstractContract.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/AbstractContract.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/AbstractContract.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/AbstractContract.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractClass.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractClass.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractClass.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractClass.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractCompileMojo.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractCompileMojo.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractCompileMojo.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractCompileMojo.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractConstant.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractConstant.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractConstant.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractConstant.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractField.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractField.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractField.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractField.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractMethod.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractMethod.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractMethod.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/ContractMethod.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMClassVisitor.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMClassVisitor.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMClassVisitor.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMClassVisitor.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMMethodVisitor.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMMethodVisitor.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMMethodVisitor.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/asm/ASMMethodVisitor.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/BlackList.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/BlackList.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/BlackList.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/BlackList.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/DependencyExclude.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/DependencyExclude.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/DependencyExclude.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/DependencyExclude.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/WhiteList.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/WhiteList.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/WhiteList.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/rule/WhiteList.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/ResolveEngine.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/ResolveEngine.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/ResolveEngine.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/ResolveEngine.java
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/VerifyEngine.java b/core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/VerifyEngine.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/VerifyEngine.java
rename to core/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/contract/maven/verify/VerifyEngine.java
diff --git a/source/contract/contract-maven-plugin/src/main/resources/blacks.conf b/core/contract/contract-maven-plugin/src/main/resources/blacks.conf
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/resources/blacks.conf
rename to core/contract/contract-maven-plugin/src/main/resources/blacks.conf
diff --git a/source/contract/contract-maven-plugin/src/main/resources/providers.conf b/core/contract/contract-maven-plugin/src/main/resources/providers.conf
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/resources/providers.conf
rename to core/contract/contract-maven-plugin/src/main/resources/providers.conf
diff --git a/source/contract/contract-maven-plugin/src/main/resources/whites.conf b/core/contract/contract-maven-plugin/src/main/resources/whites.conf
similarity index 100%
rename from source/contract/contract-maven-plugin/src/main/resources/whites.conf
rename to core/contract/contract-maven-plugin/src/main/resources/whites.conf
diff --git a/source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractDeployMojoTest.java b/core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractDeployMojoTest.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractDeployMojoTest.java
rename to core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractDeployMojoTest.java
diff --git a/source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractTestBase.java b/core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractTestBase.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractTestBase.java
rename to core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractTestBase.java
diff --git a/source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyMojoTest.java b/core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyMojoTest.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyMojoTest.java
rename to core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyMojoTest.java
diff --git a/source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyTest_.java b/core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyTest_.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyTest_.java
rename to core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/ContractVerifyTest_.java
diff --git a/source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/MyProjectStub.java b/core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/MyProjectStub.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/MyProjectStub.java
rename to core/contract/contract-maven-plugin/src/test/java/com/jd/blockchain/ledger/MyProjectStub.java
diff --git a/source/contract/contract-maven-plugin/src/test/resources/AssetContract3.contract b/core/contract/contract-maven-plugin/src/test/resources/AssetContract3.contract
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/resources/AssetContract3.contract
rename to core/contract/contract-maven-plugin/src/test/resources/AssetContract3.contract
diff --git a/source/contract/contract-maven-plugin/src/test/resources/complex.jar b/core/contract/contract-maven-plugin/src/test/resources/complex.jar
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/resources/complex.jar
rename to core/contract/contract-maven-plugin/src/test/resources/complex.jar
diff --git a/source/contract/contract-maven-plugin/src/test/resources/contract.properties b/core/contract/contract-maven-plugin/src/test/resources/contract.properties
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/resources/contract.properties
rename to core/contract/contract-maven-plugin/src/test/resources/contract.properties
diff --git a/source/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContract2.java b/core/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContract2.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContract2.java
rename to core/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContract2.java
diff --git a/source/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContractImpl2.java b/core/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContractImpl2.java
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContractImpl2.java
rename to core/contract/contract-maven-plugin/src/test/resources/project-to-test/AssetContractImpl2.java
diff --git a/source/contract/contract-maven-plugin/src/test/resources/project-to-test/pom.xml b/core/contract/contract-maven-plugin/src/test/resources/project-to-test/pom.xml
similarity index 100%
rename from source/contract/contract-maven-plugin/src/test/resources/project-to-test/pom.xml
rename to core/contract/contract-maven-plugin/src/test/resources/project-to-test/pom.xml
diff --git a/source/contract/contract-samples/pom.xml b/core/contract/contract-samples/pom.xml
similarity index 100%
rename from source/contract/contract-samples/pom.xml
rename to core/contract/contract-samples/pom.xml
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContract.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContract.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContract.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContract.java
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContractImpl.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContractImpl.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContractImpl.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ComplexContractImpl.java
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContract.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContract.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContract.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContract.java
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContractImpl.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContractImpl.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContractImpl.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/RandomContractImpl.java
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContract.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContract.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContract.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContract.java
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContractImpl.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContractImpl.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContractImpl.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/ReadContractImpl.java
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContract.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContract.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContract.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContract.java
diff --git a/source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContractImpl.java b/core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContractImpl.java
similarity index 100%
rename from source/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContractImpl.java
rename to core/contract/contract-samples/src/main/java/com/jd/blockchain/contract/TransferContractImpl.java
diff --git a/source/contract/pom.xml b/core/contract/pom.xml
similarity index 100%
rename from source/contract/pom.xml
rename to core/contract/pom.xml
diff --git a/source/crypto/crypto-adv/pom.xml b/core/crypto/crypto-adv/pom.xml
similarity index 100%
rename from source/crypto/crypto-adv/pom.xml
rename to core/crypto/crypto-adv/pom.xml
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/ecvrf/VRF.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/ecvrf/VRF.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/ecvrf/VRF.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/ecvrf/VRF.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/elgamal/ElGamalUtils.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/elgamal/ElGamalUtils.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/elgamal/ElGamalUtils.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/elgamal/ElGamalUtils.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/EqualVerify.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/EqualVerify.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/EqualVerify.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/EqualVerify.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/IntCompare.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/IntCompare.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/IntCompare.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/IntCompare.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/MultiSum.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/MultiSum.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/MultiSum.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/mpc/MultiSum.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierKeyPairGenerator.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierKeyPairGenerator.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierKeyPairGenerator.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierKeyPairGenerator.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPrivateKeyParameters.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPrivateKeyParameters.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPrivateKeyParameters.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPrivateKeyParameters.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPublicKeyParameters.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPublicKeyParameters.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPublicKeyParameters.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierPublicKeyParameters.java
diff --git a/source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierUtils.java b/core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierUtils.java
similarity index 100%
rename from source/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierUtils.java
rename to core/crypto/crypto-adv/src/main/java/com/jd/blockchain/crypto/paillier/PaillierUtils.java
diff --git a/source/crypto/crypto-adv/src/main/resources/libsodium.23.dylib b/core/crypto/crypto-adv/src/main/resources/libsodium.23.dylib
similarity index 100%
rename from source/crypto/crypto-adv/src/main/resources/libsodium.23.dylib
rename to core/crypto/crypto-adv/src/main/resources/libsodium.23.dylib
diff --git a/source/crypto/crypto-adv/src/main/resources/libsodium.so.23.1.0 b/core/crypto/crypto-adv/src/main/resources/libsodium.so.23.1.0
similarity index 100%
rename from source/crypto/crypto-adv/src/main/resources/libsodium.so.23.1.0
rename to core/crypto/crypto-adv/src/main/resources/libsodium.so.23.1.0
diff --git a/source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/ecvrf/VRFTest.java b/core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/ecvrf/VRFTest.java
similarity index 100%
rename from source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/ecvrf/VRFTest.java
rename to core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/ecvrf/VRFTest.java
diff --git a/source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/elgamal/ElGamalUtilsTest.java b/core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/elgamal/ElGamalUtilsTest.java
similarity index 100%
rename from source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/elgamal/ElGamalUtilsTest.java
rename to core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/elgamal/ElGamalUtilsTest.java
diff --git a/source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/EqualVerifyTest.java b/core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/EqualVerifyTest.java
similarity index 100%
rename from source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/EqualVerifyTest.java
rename to core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/EqualVerifyTest.java
diff --git a/source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/IntCompareTest.java b/core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/IntCompareTest.java
similarity index 100%
rename from source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/IntCompareTest.java
rename to core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/IntCompareTest.java
diff --git a/source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/MultiSumTest.java b/core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/MultiSumTest.java
similarity index 100%
rename from source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/MultiSumTest.java
rename to core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/mpc/MultiSumTest.java
diff --git a/source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/paillier/PaillierUtilsTest.java b/core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/paillier/PaillierUtilsTest.java
similarity index 100%
rename from source/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/paillier/PaillierUtilsTest.java
rename to core/crypto/crypto-adv/src/test/java/test/com/jd/blockchain/crypto/paillier/PaillierUtilsTest.java
diff --git a/source/crypto/crypto-pki/pom.xml b/core/crypto/crypto-pki/pom.xml
similarity index 100%
rename from source/crypto/crypto-pki/pom.xml
rename to core/crypto/crypto-pki/pom.xml
diff --git a/source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKIAlgorithm.java b/core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKIAlgorithm.java
similarity index 100%
rename from source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKIAlgorithm.java
rename to core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKIAlgorithm.java
diff --git a/source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKICryptoService.java b/core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKICryptoService.java
similarity index 100%
rename from source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKICryptoService.java
rename to core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/PKICryptoService.java
diff --git a/source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunction.java b/core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunction.java
similarity index 100%
rename from source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunction.java
rename to core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunction.java
diff --git a/source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunction.java b/core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunction.java
similarity index 100%
rename from source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunction.java
rename to core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunction.java
diff --git a/source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunction.java b/core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunction.java
similarity index 100%
rename from source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunction.java
rename to core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunction.java
diff --git a/source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CSRBuilder.java b/core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CSRBuilder.java
similarity index 100%
rename from source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CSRBuilder.java
rename to core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CSRBuilder.java
diff --git a/source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CertParser.java b/core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CertParser.java
similarity index 100%
rename from source/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CertParser.java
rename to core/crypto/crypto-pki/src/main/java/com/jd/blockchain/crypto/utils/CertParser.java
diff --git a/source/crypto/crypto-pki/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService b/core/crypto/crypto-pki/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
similarity index 100%
rename from source/crypto/crypto-pki/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
rename to core/crypto/crypto-pki/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
diff --git a/source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunctionTest.java b/core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunctionTest.java
rename to core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA2048SignatureFunctionTest.java
diff --git a/source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunctionTest.java b/core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunctionTest.java
rename to core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SHA1WITHRSA4096SignatureFunctionTest.java
diff --git a/source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunctionTest.java b/core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunctionTest.java
rename to core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/service/pki/SM3WITHSM2SignatureFunctionTest.java
diff --git a/source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CSRBuilderTest.java b/core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CSRBuilderTest.java
similarity index 100%
rename from source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CSRBuilderTest.java
rename to core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CSRBuilderTest.java
diff --git a/source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CertParserTest.java b/core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CertParserTest.java
similarity index 100%
rename from source/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CertParserTest.java
rename to core/crypto/crypto-pki/src/test/java/com/jd/blockchain/crypto/utils/CertParserTest.java
diff --git a/source/crypto/pom.xml b/core/crypto/pom.xml
similarity index 100%
rename from source/crypto/pom.xml
rename to core/crypto/pom.xml
diff --git a/source/gateway/.gitignore b/core/gateway/.gitignore
similarity index 100%
rename from source/gateway/.gitignore
rename to core/gateway/.gitignore
diff --git a/source/gateway/pom.xml b/core/gateway/pom.xml
similarity index 100%
rename from source/gateway/pom.xml
rename to core/gateway/pom.xml
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfigProperties.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfigProperties.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfigProperties.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfigProperties.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfiguration.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfiguration.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfiguration.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/GatewayConfiguration.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/GatewayServerBooter.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/PeerConnector.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/PeerConnector.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/PeerConnector.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/PeerConnector.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalService.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalService.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalService.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalService.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalServiceHandler.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalServiceHandler.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalServiceHandler.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/DataRetrievalServiceHandler.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptService.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptService.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptService.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptService.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptServiceHandler.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptServiceHandler.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptServiceHandler.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayInterceptServiceHandler.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryService.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryService.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryService.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryService.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceHandler.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceHandler.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceHandler.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceHandler.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceImpl.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceImpl.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceImpl.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/GatewayQueryServiceImpl.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayGlobalExceptionHandler.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayGlobalExceptionHandler.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayGlobalExceptionHandler.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayGlobalExceptionHandler.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayJsonResponseAdvice.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayJsonResponseAdvice.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayJsonResponseAdvice.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayJsonResponseAdvice.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayTimeTasks.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayTimeTasks.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayTimeTasks.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayTimeTasks.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebSecurityConfigurer.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebSecurityConfigurer.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebSecurityConfigurer.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebSecurityConfigurer.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebServerConfigurer.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebServerConfigurer.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebServerConfigurer.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/web/GatewayWebServerConfigurer.java
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java b/core/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java
similarity index 100%
rename from source/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java
rename to core/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java
diff --git a/source/deployment/deployment-gateway/conf/application-gw.properties b/core/gateway/src/main/resources/application-gw.properties
similarity index 100%
rename from source/deployment/deployment-gateway/conf/application-gw.properties
rename to core/gateway/src/main/resources/application-gw.properties
diff --git a/source/gateway/src/main/resources/banner.txt b/core/gateway/src/main/resources/banner.txt
similarity index 100%
rename from source/gateway/src/main/resources/banner.txt
rename to core/gateway/src/main/resources/banner.txt
diff --git a/source/gateway/src/main/resources/gateway.conf b/core/gateway/src/main/resources/gateway.conf
similarity index 100%
rename from source/gateway/src/main/resources/gateway.conf
rename to core/gateway/src/main/resources/gateway.conf
diff --git a/source/gateway/src/main/resources/log4j2.xml b/core/gateway/src/main/resources/log4j2.xml
similarity index 100%
rename from source/gateway/src/main/resources/log4j2.xml
rename to core/gateway/src/main/resources/log4j2.xml
diff --git a/source/gateway/src/test/java/test/com/jd/blockchain/gateway/GatewayConfigPropertiesTest.java b/core/gateway/src/test/java/test/com/jd/blockchain/gateway/GatewayConfigPropertiesTest.java
similarity index 100%
rename from source/gateway/src/test/java/test/com/jd/blockchain/gateway/GatewayConfigPropertiesTest.java
rename to core/gateway/src/test/java/test/com/jd/blockchain/gateway/GatewayConfigPropertiesTest.java
diff --git a/source/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestDeserializer.java b/core/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestDeserializer.java
similarity index 100%
rename from source/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestDeserializer.java
rename to core/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestDeserializer.java
diff --git a/source/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestJSONSerializeTest.java b/core/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestJSONSerializeTest.java
similarity index 100%
rename from source/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestJSONSerializeTest.java
rename to core/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestJSONSerializeTest.java
diff --git a/source/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestSerializer.java b/core/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestSerializer.java
similarity index 100%
rename from source/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestSerializer.java
rename to core/gateway/src/test/java/test/com/jd/blockchain/gateway/data/HashDigestSerializer.java
diff --git a/source/gateway/src/test/resources/gateway.conf b/core/gateway/src/test/resources/gateway.conf
similarity index 100%
rename from source/gateway/src/test/resources/gateway.conf
rename to core/gateway/src/test/resources/gateway.conf
diff --git a/source/ledger/ledger-core/pom.xml b/core/ledger/ledger-core/pom.xml
similarity index 100%
rename from source/ledger/ledger-core/pom.xml
rename to core/ledger/ledger-core/pom.xml
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountAccessPolicy.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountAccessPolicy.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountAccessPolicy.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountAccessPolicy.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountDecorator.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountDecorator.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountDecorator.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountDecorator.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CompositeAccount.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CompositeAccount.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CompositeAccount.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CompositeAccount.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ConsensusConfig.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ConsensusConfig.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ConsensusConfig.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ConsensusConfig.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccountSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CryptoConfig.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CryptoConfig.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CryptoConfig.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/CryptoConfig.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccountSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DefaultOperationHandleRegisteration.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DefaultOperationHandleRegisteration.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DefaultOperationHandleRegisteration.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DefaultOperationHandleRegisteration.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyAccountSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyAccountSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyAccountSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyAccountSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyLedgerDataset.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyLedgerDataset.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyLedgerDataset.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/EmptyLedgerDataset.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/FullPermissionedSecurityManager.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/FullPermissionedSecurityManager.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/FullPermissionedSecurityManager.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/FullPermissionedSecurityManager.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountDataset.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountDataset.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountDataset.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountDataset.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericAccountSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericDataEntry.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericDataEntry.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericDataEntry.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericDataEntry.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataEntry.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataEntry.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataEntry.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataEntry.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenericMerkleDataSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenesisLedgerStorageProxy.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenesisLedgerStorageProxy.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenesisLedgerStorageProxy.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/GenesisLedgerStorageProxy.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashDigestList.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashDigestList.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashDigestList.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashDigestList.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashProvable.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashProvable.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashProvable.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/HashProvable.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataset.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataset.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataset.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminDataset.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminInfoData.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminInfoData.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminInfoData.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminInfoData.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerBlockData.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerBlockData.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerBlockData.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerBlockData.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConfiguration.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConfiguration.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConfiguration.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConfiguration.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConsts.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConsts.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConsts.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerConsts.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataset.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataset.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataset.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerDataset.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerEditor.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerEditor.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerEditor.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerEditor.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposal.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposal.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposal.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposal.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposalData.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposalData.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposalData.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitProposalData.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitializer.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitializer.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitializer.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitializer.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManage.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManage.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManage.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManage.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManager.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManager.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManager.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerManager.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQueryService.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQueryService.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQueryService.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQueryService.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepository.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepository.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepository.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepository.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepositoryImpl.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepositoryImpl.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepositoryImpl.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerRepositoryImpl.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManager.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManager.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManager.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManager.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManagerImpl.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManagerImpl.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManagerImpl.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSecurityManagerImpl.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerService.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerService.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerService.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerService.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionContext.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionContext.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionContext.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionContext.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionData.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionData.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionData.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionData.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionalEditor.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionalEditor.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionalEditor.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerTransactionalEditor.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccount.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccount.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccount.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccount.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountHeader.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountHeader.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountHeader.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountHeader.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleAccountSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataCluster.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataCluster.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataCluster.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataCluster.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataEntry.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataEntry.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataEntry.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataEntry.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V0.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V0.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V0.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V0.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V1.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V1.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V1.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoder_V1.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleDataSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProofException.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProofException.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProofException.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProofException.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProvable.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProvable.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProvable.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleProvable.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleSequenceSNGenerator.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleSequenceSNGenerator.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleSequenceSNGenerator.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleSequenceSNGenerator.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTree.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTree.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTree.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTree.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTreeEncoder.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTreeEncoder.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTreeEncoder.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MerkleTreeEncoder.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MultiIDsPolicy.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MultiIDsPolicy.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MultiIDsPolicy.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/MultiIDsPolicy.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Node.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Node.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Node.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Node.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OpeningAccessPolicy.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OpeningAccessPolicy.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OpeningAccessPolicy.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OpeningAccessPolicy.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleContext.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleContext.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleContext.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleContext.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleRegisteration.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleRegisteration.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleRegisteration.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/OperationHandleRegisteration.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantCertData.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataset.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataset.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataset.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataset.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Peer.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Peer.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Peer.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/Peer.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PermissionService.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PermissionService.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PermissionService.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PermissionService.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrefixAppender.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrefixAppender.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrefixAppender.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrefixAppender.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrivilegeModelSetting.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrivilegeModelSetting.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrivilegeModelSetting.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/PrivilegeModelSetting.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/RolePrivilegeDataset.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/RolePrivilegeDataset.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/RolePrivilegeDataset.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/RolePrivilegeDataset.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SNGenerator.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SNGenerator.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SNGenerator.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SNGenerator.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityContext.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityContext.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityContext.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityContext.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityPolicy.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityPolicy.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityPolicy.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SecurityPolicy.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SettingContext.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SettingContext.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SettingContext.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SettingContext.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SmartContract.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SmartContract.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SmartContract.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/SmartContract.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionBatchProcessor.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionBatchProcessor.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionBatchProcessor.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionBatchProcessor.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionEngineImpl.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionEngineImpl.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionEngineImpl.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionEngineImpl.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtension.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtension.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtension.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtension.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtensionImpl.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtensionImpl.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtensionImpl.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionRequestExtensionImpl.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionStagedSnapshot.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionStagedSnapshot.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionStagedSnapshot.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionStagedSnapshot.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccount.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccount.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccount.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccount.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountQuery.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountQuery.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountQuery.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountQuery.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountSet.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountSet.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountSet.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserAccountSet.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRoleDataset.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRoleDataset.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRoleDataset.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRoleDataset.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRolesPrivileges.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRolesPrivileges.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRolesPrivileges.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/UserRolesPrivileges.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbstractLedgerOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbstractLedgerOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbstractLedgerOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbstractLedgerOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbtractContractEventSendOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbtractContractEventSendOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbtractContractEventSendOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/AbtractContractEventSendOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractCodeDeployOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractCodeDeployOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractCodeDeployOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractCodeDeployOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractLedgerContext.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractLedgerContext.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractLedgerContext.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ContractLedgerContext.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountKVSetOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountKVSetOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountKVSetOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountKVSetOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountRegisterOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountRegisterOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountRegisterOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/DataAccountRegisterOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/JVMContractEventSendOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/JVMContractEventSendOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/JVMContractEventSendOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/JVMContractEventSendOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/LedgerInitOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/LedgerInitOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/LedgerInitOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/LedgerInitOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantRegisterOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantRegisterOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantRegisterOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantRegisterOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantStateUpdateOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantStateUpdateOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantStateUpdateOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/ParticipantStateUpdateOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/RolesConfigureOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/RolesConfigureOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/RolesConfigureOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/RolesConfigureOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserAuthorizeOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserAuthorizeOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserAuthorizeOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserAuthorizeOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserRegisterOperationHandle.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserRegisterOperationHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserRegisterOperationHandle.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/handles/UserRegisterOperationHandle.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockDeserializer.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockDeserializer.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockDeserializer.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockDeserializer.java
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockSerializer.java b/core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockSerializer.java
similarity index 100%
rename from source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockSerializer.java
rename to core/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/serialize/LedgerBlockSerializer.java
diff --git a/source/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoderTest.java b/core/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoderTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoderTest.java
rename to core/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/MerkleDataNodeEncoderTest.java
diff --git a/source/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/PreviousDataNode.java b/core/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/PreviousDataNode.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/PreviousDataNode.java
rename to core/ledger/ledger-core/src/test/java/com/jd/blockchain/ledger/core/PreviousDataNode.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingHandle.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingHandle.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingHandle.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/ContractInvokingTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueEntry.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueEntry.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueEntry.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueEntry.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueObject.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueObject.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueObject.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/KeyValueObject.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContract.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContract.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContract.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContract.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContractImpl.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContractImpl.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContractImpl.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TxTestContractImpl.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/AccountSetTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/AccountSetTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/AccountSetTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/AccountSetTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/BaseAccountTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/BaseAccountTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/BaseAccountTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/BaseAccountTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingHandle.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingHandle.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingHandle.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingHandle.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAccountTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAccountTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAccountTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAccountTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerAdminDatasetTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerBlockImplTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerBlockImplTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerBlockImplTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerBlockImplTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerEditorTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitOperationTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerInitSettingSerializeTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerManagerTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerMetaDataTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerSecurityManagerTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerSecurityManagerTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerSecurityManagerTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerSecurityManagerTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTestUtils.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTransactionDataTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTransactionDataTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTransactionDataTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/LedgerTransactionDataTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleAccountSetTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleAccountSetTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleAccountSetTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleAccountSetTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleDataSetTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleDataSetTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleDataSetTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleDataSetTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleTreeTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleTreeTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleTreeTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/MerkleTreeTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/RolePrivilegeDatasetTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/RolePrivilegeDatasetTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/RolePrivilegeDatasetTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/RolePrivilegeDatasetTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContract.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContract.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContract.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContract.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContractImpl.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContractImpl.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContractImpl.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TestContractImpl.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionBatchProcessorTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionBatchProcessorTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionBatchProcessorTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionBatchProcessorTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionSetTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionSetTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionSetTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionSetTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionStagedSnapshotTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionStagedSnapshotTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionStagedSnapshotTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/TransactionStagedSnapshotTest.java
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/UserRoleDatasetTest.java b/core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/UserRoleDatasetTest.java
similarity index 100%
rename from source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/UserRoleDatasetTest.java
rename to core/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/UserRoleDatasetTest.java
diff --git a/source/ledger/ledger-core/src/test/resources/contract-JDChain-Contract.jar b/core/ledger/ledger-core/src/test/resources/contract-JDChain-Contract.jar
similarity index 100%
rename from source/ledger/ledger-core/src/test/resources/contract-JDChain-Contract.jar
rename to core/ledger/ledger-core/src/test/resources/contract-JDChain-Contract.jar
diff --git a/source/ledger/ledger-core/src/test/resources/logback-test.xml b/core/ledger/ledger-core/src/test/resources/logback-test.xml
similarity index 100%
rename from source/ledger/ledger-core/src/test/resources/logback-test.xml
rename to core/ledger/ledger-core/src/test/resources/logback-test.xml
diff --git a/source/ledger/ledger-rpc/pom.xml b/core/ledger/ledger-rpc/pom.xml
similarity index 100%
rename from source/ledger/ledger-rpc/pom.xml
rename to core/ledger/ledger-rpc/pom.xml
diff --git a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java b/core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java
similarity index 100%
rename from source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java
rename to core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java
diff --git a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BytesInputConverter.java b/core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BytesInputConverter.java
similarity index 100%
rename from source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BytesInputConverter.java
rename to core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BytesInputConverter.java
diff --git a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/HashDigestInputConverter.java b/core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/HashDigestInputConverter.java
similarity index 100%
rename from source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/HashDigestInputConverter.java
rename to core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/HashDigestInputConverter.java
diff --git a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonDeserializer.java b/core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonDeserializer.java
similarity index 100%
rename from source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonDeserializer.java
rename to core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonDeserializer.java
diff --git a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonSerializer.java b/core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonSerializer.java
similarity index 100%
rename from source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonSerializer.java
rename to core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonSerializer.java
diff --git a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectUtil.java b/core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectUtil.java
similarity index 100%
rename from source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectUtil.java
rename to core/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectUtil.java
diff --git a/source/ledger/pom.xml b/core/ledger/pom.xml
similarity index 100%
rename from source/ledger/pom.xml
rename to core/ledger/pom.xml
diff --git a/source/manager/manager-booter/pom.xml b/core/manager/manager-booter/pom.xml
similarity index 100%
rename from source/manager/manager-booter/pom.xml
rename to core/manager/manager-booter/pom.xml
diff --git a/source/manager/manager-booter/src/main/java/com/jd/blockchain/ump/UmpBooter.java b/core/manager/manager-booter/src/main/java/com/jd/blockchain/ump/UmpBooter.java
similarity index 100%
rename from source/manager/manager-booter/src/main/java/com/jd/blockchain/ump/UmpBooter.java
rename to core/manager/manager-booter/src/main/java/com/jd/blockchain/ump/UmpBooter.java
diff --git a/source/manager/manager-booter/src/main/resources/META-INF/MANIFEST.MF b/core/manager/manager-booter/src/main/resources/META-INF/MANIFEST.MF
similarity index 100%
rename from source/manager/manager-booter/src/main/resources/META-INF/MANIFEST.MF
rename to core/manager/manager-booter/src/main/resources/META-INF/MANIFEST.MF
diff --git a/source/manager/manager-booter/src/main/resources/application.properties b/core/manager/manager-booter/src/main/resources/application.properties
similarity index 100%
rename from source/manager/manager-booter/src/main/resources/application.properties
rename to core/manager/manager-booter/src/main/resources/application.properties
diff --git a/source/manager/manager-booter/src/main/resources/assembly.xml b/core/manager/manager-booter/src/main/resources/assembly.xml
similarity index 100%
rename from source/manager/manager-booter/src/main/resources/assembly.xml
rename to core/manager/manager-booter/src/main/resources/assembly.xml
diff --git a/source/manager/manager-booter/src/main/resources/banner.txt b/core/manager/manager-booter/src/main/resources/banner.txt
similarity index 100%
rename from source/manager/manager-booter/src/main/resources/banner.txt
rename to core/manager/manager-booter/src/main/resources/banner.txt
diff --git a/source/manager/manager-booter/src/main/resources/config.properties b/core/manager/manager-booter/src/main/resources/config.properties
similarity index 100%
rename from source/manager/manager-booter/src/main/resources/config.properties
rename to core/manager/manager-booter/src/main/resources/config.properties
diff --git a/source/manager/manager-booter/src/main/resources/log4j2-jump.xml b/core/manager/manager-booter/src/main/resources/log4j2-jump.xml
similarity index 100%
rename from source/manager/manager-booter/src/main/resources/log4j2-jump.xml
rename to core/manager/manager-booter/src/main/resources/log4j2-jump.xml
diff --git a/source/manager/manager-model/pom.xml b/core/manager/manager-model/pom.xml
similarity index 100%
rename from source/manager/manager-model/pom.xml
rename to core/manager/manager-model/pom.xml
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnection.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnection.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnection.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnection.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnectionProvider.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnectionProvider.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnectionProvider.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/DBConnectionProvider.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/MemoryDBConnection.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/MemoryDBConnection.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/MemoryDBConnection.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/MemoryDBConnection.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/RocksDBConnection.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/RocksDBConnection.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/RocksDBConnection.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/RocksDBConnection.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDao.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDao.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDao.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDao.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDaoHandler.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDaoHandler.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDaoHandler.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/dao/UmpDaoHandler.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ApiResult.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ApiResult.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ApiResult.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ApiResult.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ErrorCode.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ErrorCode.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ErrorCode.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/ErrorCode.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/MasterAddr.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/MasterAddr.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/MasterAddr.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/MasterAddr.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PartiNode.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PartiNode.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PartiNode.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PartiNode.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PeerSharedConfigs.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PeerSharedConfigs.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PeerSharedConfigs.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/PeerSharedConfigs.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpConstant.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpConstant.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpConstant.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpConstant.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpQueue.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpQueue.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpQueue.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/UmpQueue.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/ConsensusConfig.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/ConsensusConfig.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/ConsensusConfig.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/ConsensusConfig.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerConfig.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerConfig.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerConfig.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerConfig.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerIdentification.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerIdentification.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerIdentification.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerIdentification.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerInitConfig.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerInitConfig.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerInitConfig.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/LedgerInitConfig.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/MasterConfig.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/MasterConfig.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/MasterConfig.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/MasterConfig.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerLocalConfig.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerLocalConfig.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerLocalConfig.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerLocalConfig.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfig.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfig.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfig.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfig.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfigVv.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfigVv.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfigVv.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/config/PeerSharedConfigVv.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/DataAccountSchema.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/DataAccountSchema.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/DataAccountSchema.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/DataAccountSchema.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/FieldSchema.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/FieldSchema.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/FieldSchema.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/FieldSchema.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/LeaderDomain.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/LeaderDomain.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/LeaderDomain.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/LeaderDomain.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/PeerDomain.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/PeerDomain.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/PeerDomain.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/PeerDomain.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/SchemaDomain.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/SchemaDomain.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/SchemaDomain.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/SchemaDomain.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemQueue.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemQueue.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemQueue.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemQueue.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemStore.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemStore.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemStore.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/penetrate/store/MemStore.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallProcess.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallProcess.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallProcess.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallProcess.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallSchedule.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallSchedule.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallSchedule.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/InstallSchedule.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerBindingConf.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerBindingConf.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerBindingConf.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerBindingConf.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerInited.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerInited.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerInited.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerInited.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerMasterInstall.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerMasterInstall.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerMasterInstall.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerMasterInstall.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInited.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInited.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInited.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInited.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInstall.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInstall.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInstall.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/LedgerPeerInstall.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedule.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedule.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedule.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedule.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedules.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedules.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedules.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerInstallSchedules.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerStartupSchedules.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerStartupSchedules.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerStartupSchedules.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/PeerStartupSchedules.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/ScheduleState.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/ScheduleState.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/ScheduleState.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/ScheduleState.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/StartupState.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/StartupState.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/StartupState.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/state/StartupState.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeyBuilder.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeyBuilder.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeyBuilder.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeyBuilder.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeys.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeys.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeys.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeys.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeysVv.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeysVv.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeysVv.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/user/UserKeysVv.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/ErrorCode.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/ErrorCode.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/ErrorCode.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/ErrorCode.java
diff --git a/source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/WebResponse.java b/core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/WebResponse.java
similarity index 100%
rename from source/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/WebResponse.java
rename to core/manager/manager-model/src/main/java/com/jd/blockchain/ump/model/web/WebResponse.java
diff --git a/source/manager/manager-service/pom.xml b/core/manager/manager-service/pom.xml
similarity index 100%
rename from source/manager/manager-service/pom.xml
rename to core/manager/manager-service/pom.xml
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpServiceImpl.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpServiceImpl.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpServiceImpl.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataAccountUmpServiceImpl.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/DataRetrievalServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/LedgerServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/SecurityServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpSimulateServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStateServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreServiceImpl.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreServiceImpl.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreServiceImpl.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UmpStoreServiceImpl.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/UtilServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusProvider.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusProvider.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusProvider.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusProvider.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusService.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusService.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusService.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusService.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusServiceHandler.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusServiceHandler.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusServiceHandler.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/ConsensusServiceHandler.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConsensusProvider.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConsensusProvider.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConsensusProvider.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConsensusProvider.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConstant.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConstant.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConstant.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/BftsmartConstant.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/MsgQueueConsensusProvider.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/MsgQueueConsensusProvider.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/MsgQueueConsensusProvider.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/service/consensus/providers/MsgQueueConsensusProvider.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/Base58Utils.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/Base58Utils.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/Base58Utils.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/Base58Utils.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/CommandUtils.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/CommandUtils.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/CommandUtils.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/CommandUtils.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpClientPool.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpClientPool.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpClientPool.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpClientPool.java
diff --git a/source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpJsonClientUtils.java b/core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpJsonClientUtils.java
similarity index 100%
rename from source/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpJsonClientUtils.java
rename to core/manager/manager-service/src/main/java/com/jd/blockchain/ump/util/HttpJsonClientUtils.java
diff --git a/source/manager/manager-service/src/main/resources/bftsmart.default.config b/core/manager/manager-service/src/main/resources/bftsmart.default.config
similarity index 100%
rename from source/manager/manager-service/src/main/resources/bftsmart.default.config
rename to core/manager/manager-service/src/main/resources/bftsmart.default.config
diff --git a/source/manager/manager-service/src/main/resources/mq.default.config b/core/manager/manager-service/src/main/resources/mq.default.config
similarity index 100%
rename from source/manager/manager-service/src/main/resources/mq.default.config
rename to core/manager/manager-service/src/main/resources/mq.default.config
diff --git a/source/manager/manager-service/src/main/resources/security.default.config b/core/manager/manager-service/src/main/resources/security.default.config
similarity index 100%
rename from source/manager/manager-service/src/main/resources/security.default.config
rename to core/manager/manager-service/src/main/resources/security.default.config
diff --git a/source/manager/manager-web/pom.xml b/core/manager/manager-web/pom.xml
similarity index 100%
rename from source/manager/manager-web/pom.xml
rename to core/manager/manager-web/pom.xml
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpApplicationStarter.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpApplicationStarter.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpApplicationStarter.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpApplicationStarter.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpConfiguration.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpConfiguration.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpConfiguration.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/UmpConfiguration.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/RetrievalController.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/RetrievalController.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/RetrievalController.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/RetrievalController.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/TaskRetrievalController.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/TaskRetrievalController.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/TaskRetrievalController.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/TaskRetrievalController.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpDBController.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpDBController.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpDBController.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpDBController.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpKeyController.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpKeyController.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpKeyController.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpKeyController.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpMasterController.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpMasterController.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpMasterController.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpMasterController.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerController.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerController.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerController.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerController.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerSimulateController.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerSimulateController.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerSimulateController.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/controller/UmpPeerSimulateController.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ControllerConfigurer.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ControllerConfigurer.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ControllerConfigurer.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ControllerConfigurer.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ExceptionResponseAdvice.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ExceptionResponseAdvice.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ExceptionResponseAdvice.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/ExceptionResponseAdvice.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/JsonResponseAdvice.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/JsonResponseAdvice.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/JsonResponseAdvice.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/JsonResponseAdvice.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/LogPrintInterceptor.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/LogPrintInterceptor.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/LogPrintInterceptor.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/LogPrintInterceptor.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfig.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfig.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfig.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfig.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfigListener.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfigListener.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfigListener.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/RetrievalConfigListener.java
diff --git a/source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/UmpSecurityConfiguration.java b/core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/UmpSecurityConfiguration.java
similarity index 100%
rename from source/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/UmpSecurityConfiguration.java
rename to core/manager/manager-web/src/main/java/com/jd/blockchain/ump/web/UmpSecurityConfiguration.java
diff --git a/source/manager/pom.xml b/core/manager/pom.xml
similarity index 100%
rename from source/manager/pom.xml
rename to core/manager/pom.xml
diff --git a/source/peer/.gitignore b/core/peer/.gitignore
similarity index 100%
rename from source/peer/.gitignore
rename to core/peer/.gitignore
diff --git a/source/peer/config/hosts.config b/core/peer/config/hosts.config
similarity index 100%
rename from source/peer/config/hosts.config
rename to core/peer/config/hosts.config
diff --git a/source/peer/config/system.config b/core/peer/config/system.config
similarity index 100%
rename from source/peer/config/system.config
rename to core/peer/config/system.config
diff --git a/source/peer/pom.xml b/core/peer/pom.xml
similarity index 100%
rename from source/peer/pom.xml
rename to core/peer/pom.xml
diff --git a/source/peer/shell/start.bat b/core/peer/shell/start.bat
similarity index 100%
rename from source/peer/shell/start.bat
rename to core/peer/shell/start.bat
diff --git a/source/peer/shell/start.sh b/core/peer/shell/start.sh
similarity index 100%
rename from source/peer/shell/start.sh
rename to core/peer/shell/start.sh
diff --git a/source/peer/shell/stop.sh b/core/peer/shell/stop.sh
similarity index 100%
rename from source/peer/shell/stop.sh
rename to core/peer/shell/stop.sh
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/ConsensusManage.java b/core/peer/src/main/java/com/jd/blockchain/peer/ConsensusManage.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/ConsensusManage.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/ConsensusManage.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/ConsensusRealm.java b/core/peer/src/main/java/com/jd/blockchain/peer/ConsensusRealm.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/ConsensusRealm.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/ConsensusRealm.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/LedgerBindingConfigAware.java b/core/peer/src/main/java/com/jd/blockchain/peer/LedgerBindingConfigAware.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/LedgerBindingConfigAware.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/LedgerBindingConfigAware.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/PeerConfiguration.java b/core/peer/src/main/java/com/jd/blockchain/peer/PeerConfiguration.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/PeerConfiguration.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/PeerConfiguration.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/PeerManage.java b/core/peer/src/main/java/com/jd/blockchain/peer/PeerManage.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/PeerManage.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/PeerManage.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/PeerServerBooter.java b/core/peer/src/main/java/com/jd/blockchain/peer/PeerServerBooter.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/PeerServerBooter.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/PeerServerBooter.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/BlockchainConsensusServiceImpl.java b/core/peer/src/main/java/com/jd/blockchain/peer/consensus/BlockchainConsensusServiceImpl.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/consensus/BlockchainConsensusServiceImpl.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/consensus/BlockchainConsensusServiceImpl.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java b/core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher2.java b/core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher2.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher2.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher2.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusRealmImpl.java b/core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusRealmImpl.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusRealmImpl.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusRealmImpl.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusViewDefinition.java b/core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusViewDefinition.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusViewDefinition.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusViewDefinition.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/LedgerStateManager.java b/core/peer/src/main/java/com/jd/blockchain/peer/consensus/LedgerStateManager.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/consensus/LedgerStateManager.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/consensus/LedgerStateManager.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java b/core/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
similarity index 88%
rename from source/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
index f6c8bcb9..5c5c8b7e 100644
--- a/source/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
+++ b/core/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
@@ -1,5 +1,6 @@
package com.jd.blockchain.peer.ledger;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -12,6 +13,7 @@ import com.jd.blockchain.service.TransactionEngine;
@Configuration
public class LedgerConfigurer {
+ @ConditionalOnMissingBean
@Bean
public LedgerManager ledgerManager() {
return new LedgerManager();
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceReaderImpl.java b/core/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceReaderImpl.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceReaderImpl.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceReaderImpl.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceWriterImpl.java b/core/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceWriterImpl.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceWriterImpl.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/statetransfer/DataSequenceWriterImpl.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java b/core/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java b/core/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/PeerGlobalExceptionHandler.java b/core/peer/src/main/java/com/jd/blockchain/peer/web/PeerGlobalExceptionHandler.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/web/PeerGlobalExceptionHandler.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/web/PeerGlobalExceptionHandler.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/PeerJsonResponseAdvice.java b/core/peer/src/main/java/com/jd/blockchain/peer/web/PeerJsonResponseAdvice.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/web/PeerJsonResponseAdvice.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/web/PeerJsonResponseAdvice.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/PeerTimeTasks.java b/core/peer/src/main/java/com/jd/blockchain/peer/web/PeerTimeTasks.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/web/PeerTimeTasks.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/web/PeerTimeTasks.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebSecurityConfiguration.java b/core/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebSecurityConfiguration.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebSecurityConfiguration.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebSecurityConfiguration.java
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebServerConfigurer.java b/core/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebServerConfigurer.java
similarity index 100%
rename from source/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebServerConfigurer.java
rename to core/peer/src/main/java/com/jd/blockchain/peer/web/PeerWebServerConfigurer.java
diff --git a/source/peer/src/main/resources/banner.txt b/core/peer/src/main/resources/banner.txt
similarity index 100%
rename from source/peer/src/main/resources/banner.txt
rename to core/peer/src/main/resources/banner.txt
diff --git a/source/peer/src/main/resources/log4j2.xml b/core/peer/src/main/resources/log4j2.xml
similarity index 100%
rename from source/peer/src/main/resources/log4j2.xml
rename to core/peer/src/main/resources/log4j2.xml
diff --git a/source/peer/src/test/java/test/com/jd/blockchain/peer/service/ConsensusViewDefinitionTest.java b/core/peer/src/test/java/test/com/jd/blockchain/peer/service/ConsensusViewDefinitionTest.java
similarity index 100%
rename from source/peer/src/test/java/test/com/jd/blockchain/peer/service/ConsensusViewDefinitionTest.java
rename to core/peer/src/test/java/test/com/jd/blockchain/peer/service/ConsensusViewDefinitionTest.java
diff --git a/source/peer/src/test/java/test/com/jd/blockchain/peer/service/LedgerInitCordinatorTest.java b/core/peer/src/test/java/test/com/jd/blockchain/peer/service/LedgerInitCordinatorTest.java
similarity index 100%
rename from source/peer/src/test/java/test/com/jd/blockchain/peer/service/LedgerInitCordinatorTest.java
rename to core/peer/src/test/java/test/com/jd/blockchain/peer/service/LedgerInitCordinatorTest.java
diff --git a/source/peer/src/test/java/test/com/jd/blockchain/peer/web/ControllerTestConfiguration.java b/core/peer/src/test/java/test/com/jd/blockchain/peer/web/ControllerTestConfiguration.java
similarity index 100%
rename from source/peer/src/test/java/test/com/jd/blockchain/peer/web/ControllerTestConfiguration.java
rename to core/peer/src/test/java/test/com/jd/blockchain/peer/web/ControllerTestConfiguration.java
diff --git a/source/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingControllerTest.java b/core/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingControllerTest.java
similarity index 100%
rename from source/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingControllerTest.java
rename to core/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingControllerTest.java
diff --git a/source/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingTest.java b/core/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingTest.java
similarity index 100%
rename from source/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingTest.java
rename to core/peer/src/test/java/test/com/jd/blockchain/peer/web/LedgerInitializingTest.java
diff --git a/source/peer/src/test/java/test/com/jd/blockchain/peer/web/PeerKeyStorageServiceImpl.java b/core/peer/src/test/java/test/com/jd/blockchain/peer/web/PeerKeyStorageServiceImpl.java
similarity index 100%
rename from source/peer/src/test/java/test/com/jd/blockchain/peer/web/PeerKeyStorageServiceImpl.java
rename to core/peer/src/test/java/test/com/jd/blockchain/peer/web/PeerKeyStorageServiceImpl.java
diff --git a/source/runtime/pom.xml b/core/runtime/pom.xml
similarity index 100%
rename from source/runtime/pom.xml
rename to core/runtime/pom.xml
diff --git a/source/runtime/runtime-context/pom.xml b/core/runtime/runtime-context/pom.xml
similarity index 100%
rename from source/runtime/runtime-context/pom.xml
rename to core/runtime/runtime-context/pom.xml
diff --git a/source/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/AbstractModule.java b/core/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/AbstractModule.java
similarity index 100%
rename from source/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/AbstractModule.java
rename to core/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/AbstractModule.java
diff --git a/source/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/Module.java b/core/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/Module.java
similarity index 100%
rename from source/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/Module.java
rename to core/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/Module.java
diff --git a/source/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/RuntimeContext.java b/core/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/RuntimeContext.java
similarity index 100%
rename from source/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/RuntimeContext.java
rename to core/runtime/runtime-context/src/main/java/com/jd/blockchain/runtime/RuntimeContext.java
diff --git a/source/runtime/runtime-context/src/main/resources/black.config b/core/runtime/runtime-context/src/main/resources/black.config
similarity index 100%
rename from source/runtime/runtime-context/src/main/resources/black.config
rename to core/runtime/runtime-context/src/main/resources/black.config
diff --git a/source/runtime/runtime-modular-booter/pom.xml b/core/runtime/runtime-modular-booter/pom.xml
similarity index 100%
rename from source/runtime/runtime-modular-booter/pom.xml
rename to core/runtime/runtime-modular-booter/pom.xml
diff --git a/source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ArgumentSet.java b/core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ArgumentSet.java
similarity index 100%
rename from source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ArgumentSet.java
rename to core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ArgumentSet.java
diff --git a/source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ClassPathUtils.java b/core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ClassPathUtils.java
similarity index 100%
rename from source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ClassPathUtils.java
rename to core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/ClassPathUtils.java
diff --git a/source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeBooter.java b/core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeBooter.java
similarity index 100%
rename from source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeBooter.java
rename to core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeBooter.java
diff --git a/source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeContext.java b/core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeContext.java
similarity index 100%
rename from source/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeContext.java
rename to core/runtime/runtime-modular-booter/src/main/java/com/jd/blockchain/runtime/boot/HomeContext.java
diff --git a/source/runtime/runtime-modular/pom.xml b/core/runtime/runtime-modular/pom.xml
similarity index 100%
rename from source/runtime/runtime-modular/pom.xml
rename to core/runtime/runtime-modular/pom.xml
diff --git a/source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/JarsModule.java b/core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/JarsModule.java
similarity index 100%
rename from source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/JarsModule.java
rename to core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/JarsModule.java
diff --git a/source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularFactory.java b/core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularFactory.java
similarity index 100%
rename from source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularFactory.java
rename to core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularFactory.java
diff --git a/source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularRuntimeContext.java b/core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularRuntimeContext.java
similarity index 100%
rename from source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularRuntimeContext.java
rename to core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/ModularRuntimeContext.java
diff --git a/source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/MuduleClassLoader.java b/core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/MuduleClassLoader.java
similarity index 100%
rename from source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/MuduleClassLoader.java
rename to core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/MuduleClassLoader.java
diff --git a/source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/SystemModule.java b/core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/SystemModule.java
similarity index 100%
rename from source/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/SystemModule.java
rename to core/runtime/runtime-modular/src/main/java/com/jd/blockchain/runtime/modular/SystemModule.java
diff --git a/source/storage/pom.xml b/core/storage/pom.xml
similarity index 100%
rename from source/storage/pom.xml
rename to core/storage/pom.xml
diff --git a/source/storage/storage-redis/.gitignore b/core/storage/storage-redis/.gitignore
similarity index 100%
rename from source/storage/storage-redis/.gitignore
rename to core/storage/storage-redis/.gitignore
diff --git a/source/storage/storage-redis/pom.xml b/core/storage/storage-redis/pom.xml
similarity index 100%
rename from source/storage/storage-redis/pom.xml
rename to core/storage/storage-redis/pom.xml
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisConnection.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisConnection.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisConnection.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisConnection.java
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisProperties.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisProperties.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisProperties.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/JedisProperties.java
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactory.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactory.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactory.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactory.java
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConsts.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConsts.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConsts.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisConsts.java
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisExPolicyStorage.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisExPolicyStorage.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisExPolicyStorage.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisExPolicyStorage.java
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageConfiguration.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageConfiguration.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageConfiguration.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageConfiguration.java
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageService.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageService.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageService.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisStorageService.java
diff --git a/source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisVerioningStorage.java b/core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisVerioningStorage.java
similarity index 100%
rename from source/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisVerioningStorage.java
rename to core/storage/storage-redis/src/main/java/com/jd/blockchain/storage/service/impl/redis/RedisVerioningStorage.java
diff --git a/source/storage/storage-redis/src/main/resources/META-INF/spring.factories b/core/storage/storage-redis/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from source/storage/storage-redis/src/main/resources/META-INF/spring.factories
rename to core/storage/storage-redis/src/main/resources/META-INF/spring.factories
diff --git a/source/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactoryTest.java b/core/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactoryTest.java
similarity index 100%
rename from source/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactoryTest.java
rename to core/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/RedisConnectionFactoryTest.java
diff --git a/source/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/Test.java b/core/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/Test.java
similarity index 100%
rename from source/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/Test.java
rename to core/storage/storage-redis/src/test/java/test/com/jd/blockchain/storage/service/impl/redis/Test.java
diff --git a/source/storage/storage-rocksdb/pom.xml b/core/storage/storage-rocksdb/pom.xml
similarity index 100%
rename from source/storage/storage-rocksdb/pom.xml
rename to core/storage/storage-rocksdb/pom.xml
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBDemo.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBDemo.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBDemo.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBDemo.java
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBStoragePerformanceTest.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBStoragePerformanceTest.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBStoragePerformanceTest.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/demo/rocksdb/RocksDBStoragePerformanceTest.java
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/KVWritingCache.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/KVWritingCache.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/KVWritingCache.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/KVWritingCache.java
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnection.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnection.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnection.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnection.java
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnectionFactory.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnectionFactory.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnectionFactory.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBConnectionFactory.java
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBExPolicyStorage.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBExPolicyStorage.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBExPolicyStorage.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBExPolicyStorage.java
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageService.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageService.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageService.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageService.java
diff --git a/source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBVersioningStorage.java b/core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBVersioningStorage.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBVersioningStorage.java
rename to core/storage/storage-rocksdb/src/main/java/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBVersioningStorage.java
diff --git a/source/storage/storage-rocksdb/src/test/java/test/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageTest.java b/core/storage/storage-rocksdb/src/test/java/test/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageTest.java
similarity index 100%
rename from source/storage/storage-rocksdb/src/test/java/test/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageTest.java
rename to core/storage/storage-rocksdb/src/test/java/test/com/jd/blockchain/storage/service/impl/rocksdb/RocksDBStorageTest.java
diff --git a/source/tools/pom.xml b/core/tools/pom.xml
similarity index 100%
rename from source/tools/pom.xml
rename to core/tools/pom.xml
diff --git a/source/tools/tools-capability/pom.xml b/core/tools/tools-capability/pom.xml
similarity index 100%
rename from source/tools/tools-capability/pom.xml
rename to core/tools/tools-capability/pom.xml
diff --git a/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityBooter.java b/core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityBooter.java
similarity index 100%
rename from source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityBooter.java
rename to core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityBooter.java
diff --git a/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityEngine.java b/core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityEngine.java
similarity index 100%
rename from source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityEngine.java
rename to core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/CapabilityEngine.java
diff --git a/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java b/core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java
similarity index 100%
rename from source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java
rename to core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java
diff --git a/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/SettingsInit.java b/core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/SettingsInit.java
similarity index 100%
rename from source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/SettingsInit.java
rename to core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/SettingsInit.java
diff --git a/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/settings/CapabilitySettings.java b/core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/settings/CapabilitySettings.java
similarity index 100%
rename from source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/settings/CapabilitySettings.java
rename to core/tools/tools-capability/src/main/java/com/jd/blockchain/capability/settings/CapabilitySettings.java
diff --git a/source/tools/tools-capability/src/main/resources/META-INF/MANIFEST.MF b/core/tools/tools-capability/src/main/resources/META-INF/MANIFEST.MF
similarity index 100%
rename from source/tools/tools-capability/src/main/resources/META-INF/MANIFEST.MF
rename to core/tools/tools-capability/src/main/resources/META-INF/MANIFEST.MF
diff --git a/source/tools/tools-capability/src/main/resources/settings.conf b/core/tools/tools-capability/src/main/resources/settings.conf
similarity index 100%
rename from source/tools/tools-capability/src/main/resources/settings.conf
rename to core/tools/tools-capability/src/main/resources/settings.conf
diff --git a/source/tools/tools-initializer-booter/ledger.init b/core/tools/tools-initializer-booter/ledger.init
similarity index 100%
rename from source/tools/tools-initializer-booter/ledger.init
rename to core/tools/tools-initializer-booter/ledger.init
diff --git a/source/tools/tools-initializer-booter/local.conf b/core/tools/tools-initializer-booter/local.conf
similarity index 100%
rename from source/tools/tools-initializer-booter/local.conf
rename to core/tools/tools-initializer-booter/local.conf
diff --git a/source/tools/tools-initializer-booter/pom.xml b/core/tools/tools-initializer-booter/pom.xml
similarity index 100%
rename from source/tools/tools-initializer-booter/pom.xml
rename to core/tools/tools-initializer-booter/pom.xml
diff --git a/source/tools/tools-initializer-booter/src/main/java/com/jd/blockchain/tools/initializer/boot/LedgerInitCommandBooter.java b/core/tools/tools-initializer-booter/src/main/java/com/jd/blockchain/tools/initializer/boot/LedgerInitCommandBooter.java
similarity index 100%
rename from source/tools/tools-initializer-booter/src/main/java/com/jd/blockchain/tools/initializer/boot/LedgerInitCommandBooter.java
rename to core/tools/tools-initializer-booter/src/main/java/com/jd/blockchain/tools/initializer/boot/LedgerInitCommandBooter.java
diff --git a/source/tools/tools-initializer-booter/src/main/resources/META-INF/MANIFEST.MF b/core/tools/tools-initializer-booter/src/main/resources/META-INF/MANIFEST.MF
similarity index 100%
rename from source/tools/tools-initializer-booter/src/main/resources/META-INF/MANIFEST.MF
rename to core/tools/tools-initializer-booter/src/main/resources/META-INF/MANIFEST.MF
diff --git a/source/test/test-consensus-client/.gitignore b/core/tools/tools-initializer/.gitignore
similarity index 100%
rename from source/test/test-consensus-client/.gitignore
rename to core/tools/tools-initializer/.gitignore
diff --git a/source/ledger/ledger-model/src/test/resources/bftsmart.config b/core/tools/tools-initializer/bftsmart.config
similarity index 100%
rename from source/ledger/ledger-model/src/test/resources/bftsmart.config
rename to core/tools/tools-initializer/bftsmart.config
diff --git a/source/tools/tools-initializer/pom.xml b/core/tools/tools-initializer/pom.xml
similarity index 100%
rename from source/tools/tools-initializer/pom.xml
rename to core/tools/tools-initializer/pom.xml
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/ConsolePrompter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/ConsolePrompter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/ConsolePrompter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/ConsolePrompter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/DBConnectionConfig.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/DBConnectionConfig.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/DBConnectionConfig.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/DBConnectionConfig.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializerConfiguration.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializerConfiguration.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializerConfiguration.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializerConfiguration.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializingStep.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializingStep.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializingStep.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/InitializingStep.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerBindingConfig.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerBindingConfig.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerBindingConfig.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerBindingConfig.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitCommand.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitProcess.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitProcess.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitProcess.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LedgerInitProcess.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LocalConfig.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LocalConfig.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LocalConfig.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LocalConfig.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LogPrompter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LogPrompter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LogPrompter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/LogPrompter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/PresetAnswerPrompter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/PresetAnswerPrompter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/PresetAnswerPrompter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/PresetAnswerPrompter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/Prompter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/Prompter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/Prompter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/Prompter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DataCodes.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DataCodes.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DataCodes.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DataCodes.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/HttpInitConsensServiceFactory.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/HttpInitConsensServiceFactory.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/HttpInitConsensServiceFactory.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/HttpInitConsensServiceFactory.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitConsensusServiceFactory.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitConsensusServiceFactory.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitConsensusServiceFactory.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitConsensusServiceFactory.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitServiceExceptionHandler.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitServiceExceptionHandler.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitServiceExceptionHandler.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitServiceExceptionHandler.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebSecurityConfiguration.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebSecurityConfiguration.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebSecurityConfiguration.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebSecurityConfiguration.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebServerConfiguration.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebServerConfiguration.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebServerConfiguration.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/InitWebServerConfiguration.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConfiguration.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConfiguration.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConfiguration.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConfiguration.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConsensusService.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConsensusService.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConsensusService.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitConsensusService.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitDecisionData.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitDecisionData.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitDecisionData.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitDecisionData.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitResponse.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitResponse.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitResponse.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitResponse.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/SignatureDigestRequestBodyConverter.java b/core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/SignatureDigestRequestBodyConverter.java
similarity index 100%
rename from source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/SignatureDigestRequestBodyConverter.java
rename to core/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/SignatureDigestRequestBodyConverter.java
diff --git a/source/tools/tools-initializer/src/main/resources/META-INF/spring.factories b/core/tools/tools-initializer/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from source/tools/tools-initializer/src/main/resources/META-INF/spring.factories
rename to core/tools/tools-initializer/src/main/resources/META-INF/spring.factories
diff --git a/source/tools/tools-initializer/src/main/resources/application.properties b/core/tools/tools-initializer/src/main/resources/application.properties
similarity index 100%
rename from source/tools/tools-initializer/src/main/resources/application.properties
rename to core/tools/tools-initializer/src/main/resources/application.properties
diff --git a/source/tools/tools-initializer/src/main/resources/banner.txt b/core/tools/tools-initializer/src/main/resources/banner.txt
similarity index 100%
rename from source/tools/tools-initializer/src/main/resources/banner.txt
rename to core/tools/tools-initializer/src/main/resources/banner.txt
diff --git a/source/tools/tools-initializer/src/main/resources/local.conf b/core/tools/tools-initializer/src/main/resources/local.conf
similarity index 100%
rename from source/tools/tools-initializer/src/main/resources/local.conf
rename to core/tools/tools-initializer/src/main/resources/local.conf
diff --git a/source/tools/tools-initializer/src/main/resources/log4j2-init.xml b/core/tools/tools-initializer/src/main/resources/log4j2-init.xml
similarity index 100%
rename from source/tools/tools-initializer/src/main/resources/log4j2-init.xml
rename to core/tools/tools-initializer/src/main/resources/log4j2-init.xml
diff --git a/source/tools/tools-initializer/src/main/resources/mq.config b/core/tools/tools-initializer/src/main/resources/mq.config
similarity index 100%
rename from source/tools/tools-initializer/src/main/resources/mq.config
rename to core/tools/tools-initializer/src/main/resources/mq.config
diff --git a/source/tools/tools-initializer/src/main/resources/system.config b/core/tools/tools-initializer/src/main/resources/system.config
similarity index 100%
rename from source/tools/tools-initializer/src/main/resources/system.config
rename to core/tools/tools-initializer/src/main/resources/system.config
diff --git a/source/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/ConsensusSettingTest.java b/core/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/ConsensusSettingTest.java
similarity index 100%
rename from source/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/ConsensusSettingTest.java
rename to core/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/ConsensusSettingTest.java
diff --git a/source/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/LedgerBindingConfigTest.java b/core/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/LedgerBindingConfigTest.java
similarity index 100%
rename from source/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/LedgerBindingConfigTest.java
rename to core/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/LedgerBindingConfigTest.java
diff --git a/source/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/TestConsts.java b/core/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/TestConsts.java
similarity index 100%
rename from source/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/TestConsts.java
rename to core/tools/tools-initializer/src/test/java/test/com/jd/blockchain/tools/initializer/TestConsts.java
diff --git a/source/test/test-ledger/src/test/resources/bftsmart.config b/core/tools/tools-initializer/src/test/resources/bftsmart.config
similarity index 100%
rename from source/test/test-ledger/src/test/resources/bftsmart.config
rename to core/tools/tools-initializer/src/test/resources/bftsmart.config
diff --git a/source/ledger/ledger-model/src/test/resources/keys/parti2.pub b/core/tools/tools-initializer/src/test/resources/keys/parti2.pub
similarity index 100%
rename from source/ledger/ledger-model/src/test/resources/keys/parti2.pub
rename to core/tools/tools-initializer/src/test/resources/keys/parti2.pub
diff --git a/source/tools/tools-initializer/src/test/resources/ledger-binding.conf b/core/tools/tools-initializer/src/test/resources/ledger-binding.conf
similarity index 100%
rename from source/tools/tools-initializer/src/test/resources/ledger-binding.conf
rename to core/tools/tools-initializer/src/test/resources/ledger-binding.conf
diff --git a/source/tools/tools-initializer/src/test/resources/ledger.init b/core/tools/tools-initializer/src/test/resources/ledger.init
similarity index 100%
rename from source/tools/tools-initializer/src/test/resources/ledger.init
rename to core/tools/tools-initializer/src/test/resources/ledger.init
diff --git a/source/tools/tools-initializer/src/test/resources/local.conf b/core/tools/tools-initializer/src/test/resources/local.conf
similarity index 100%
rename from source/tools/tools-initializer/src/test/resources/local.conf
rename to core/tools/tools-initializer/src/test/resources/local.conf
diff --git a/source/tools/tools-initializer/src/test/resources/mq.config b/core/tools/tools-initializer/src/test/resources/mq.config
similarity index 100%
rename from source/tools/tools-initializer/src/test/resources/mq.config
rename to core/tools/tools-initializer/src/test/resources/mq.config
diff --git a/source/test/test-consensus-node/config/system.config b/core/tools/tools-initializer/src/test/resources/system.config
similarity index 100%
rename from source/test/test-consensus-node/config/system.config
rename to core/tools/tools-initializer/src/test/resources/system.config
diff --git a/source/crypto/crypto-composite/src/test/java/com/jd/blockchain/AppTest.java b/core/tools/tools-joiner/src/test/java/com/jd/blockchain/AppTest.java
similarity index 100%
rename from source/crypto/crypto-composite/src/test/java/com/jd/blockchain/AppTest.java
rename to core/tools/tools-joiner/src/test/java/com/jd/blockchain/AppTest.java
diff --git a/source/tools/tools-keygen-booter/pom.xml b/core/tools/tools-keygen-booter/pom.xml
similarity index 100%
rename from source/tools/tools-keygen-booter/pom.xml
rename to core/tools/tools-keygen-booter/pom.xml
diff --git a/source/tools/tools-keygen-booter/src/main/java/com/jd/blockchain/tools/keygen/boot/KeyGenBooter.java b/core/tools/tools-keygen-booter/src/main/java/com/jd/blockchain/tools/keygen/boot/KeyGenBooter.java
similarity index 100%
rename from source/tools/tools-keygen-booter/src/main/java/com/jd/blockchain/tools/keygen/boot/KeyGenBooter.java
rename to core/tools/tools-keygen-booter/src/main/java/com/jd/blockchain/tools/keygen/boot/KeyGenBooter.java
diff --git a/source/tools/tools-keygen-booter/src/main/resources/META-INF/MANIFEST.MF b/core/tools/tools-keygen-booter/src/main/resources/META-INF/MANIFEST.MF
similarity index 100%
rename from source/tools/tools-keygen-booter/src/main/resources/META-INF/MANIFEST.MF
rename to core/tools/tools-keygen-booter/src/main/resources/META-INF/MANIFEST.MF
diff --git a/source/tools/tools-keygen/pom.xml b/core/tools/tools-keygen/pom.xml
similarity index 100%
rename from source/tools/tools-keygen/pom.xml
rename to core/tools/tools-keygen/pom.xml
diff --git a/source/tools/tools-keygen/src/main/java/com/jd/blockchain/tools/keygen/KeyGenCommand.java b/core/tools/tools-keygen/src/main/java/com/jd/blockchain/tools/keygen/KeyGenCommand.java
similarity index 100%
rename from source/tools/tools-keygen/src/main/java/com/jd/blockchain/tools/keygen/KeyGenCommand.java
rename to core/tools/tools-keygen/src/main/java/com/jd/blockchain/tools/keygen/KeyGenCommand.java
diff --git a/source/tools/tools-mocker/pom.xml b/core/tools/tools-mocker/pom.xml
similarity index 100%
rename from source/tools/tools-mocker/pom.xml
rename to core/tools/tools-mocker/pom.xml
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerLedgerInitializer.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerNodeContext.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerNodeContext.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerNodeContext.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/MockerNodeContext.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/LedgerInitWebConfiguration.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/LedgerInitWebConfiguration.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/LedgerInitWebConfiguration.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/LedgerInitWebConfiguration.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/MockerConstant.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/MockerConstant.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/MockerConstant.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/MockerConstant.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/PresetAnswerPrompter.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/PresetAnswerPrompter.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/PresetAnswerPrompter.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/config/PresetAnswerPrompter.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContract.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContract.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContract.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContract.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContractImpl.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContractImpl.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContractImpl.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/AccountContractImpl.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContract.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContract.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContract.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContract.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContractImpl.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContractImpl.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContractImpl.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/contracts/WriteContractImpl.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/KvData.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/KvData.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/KvData.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/KvData.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/ResponseData.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/ResponseData.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/ResponseData.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/data/ResponseData.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerContractExeHandle.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerContractExeHandle.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerContractExeHandle.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerContractExeHandle.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerNodeHandler.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerNodeHandler.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerNodeHandler.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerNodeHandler.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerOperationHandleRegister.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerOperationHandleRegister.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerOperationHandleRegister.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerOperationHandleRegister.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerServiceHandler.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerServiceHandler.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerServiceHandler.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/handler/MockerServiceHandler.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/GatewayNodeRunner.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/GatewayNodeRunner.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/GatewayNodeRunner.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/GatewayNodeRunner.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/NodeWebContext.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/NodeWebContext.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/NodeWebContext.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/NodeWebContext.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/PeerNodeRunner.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/PeerNodeRunner.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/PeerNodeRunner.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/node/PeerNodeRunner.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ContractProxy.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ContractProxy.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ContractProxy.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ContractProxy.java
diff --git a/source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ExecutorProxy.java b/core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ExecutorProxy.java
similarity index 100%
rename from source/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ExecutorProxy.java
rename to core/tools/tools-mocker/src/main/java/com/jd/blockchain/mocker/proxy/ExecutorProxy.java
diff --git a/source/tools/tools-mocker/src/main/resources/bftsmart.config b/core/tools/tools-mocker/src/main/resources/bftsmart.config
similarity index 100%
rename from source/tools/tools-mocker/src/main/resources/bftsmart.config
rename to core/tools/tools-mocker/src/main/resources/bftsmart.config
diff --git a/source/tools/tools-mocker/src/main/resources/bftsmart4.config b/core/tools/tools-mocker/src/main/resources/bftsmart4.config
similarity index 100%
rename from source/tools/tools-mocker/src/main/resources/bftsmart4.config
rename to core/tools/tools-mocker/src/main/resources/bftsmart4.config
diff --git a/source/tools/tools-mocker/src/main/resources/bftsmart8.config b/core/tools/tools-mocker/src/main/resources/bftsmart8.config
similarity index 100%
rename from source/tools/tools-mocker/src/main/resources/bftsmart8.config
rename to core/tools/tools-mocker/src/main/resources/bftsmart8.config
diff --git a/source/tools/tools-mocker/src/main/resources/ledger4.init b/core/tools/tools-mocker/src/main/resources/ledger4.init
similarity index 100%
rename from source/tools/tools-mocker/src/main/resources/ledger4.init
rename to core/tools/tools-mocker/src/main/resources/ledger4.init
diff --git a/source/tools/tools-mocker/src/main/resources/ledger8.init b/core/tools/tools-mocker/src/main/resources/ledger8.init
similarity index 100%
rename from source/tools/tools-mocker/src/main/resources/ledger8.init
rename to core/tools/tools-mocker/src/main/resources/ledger8.init
diff --git a/source/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/AccountMockerTest.java b/core/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/AccountMockerTest.java
similarity index 100%
rename from source/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/AccountMockerTest.java
rename to core/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/AccountMockerTest.java
diff --git a/source/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/MockTest.java b/core/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/MockTest.java
similarity index 100%
rename from source/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/MockTest.java
rename to core/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/MockTest.java
diff --git a/source/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/SampleTest.java b/core/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/SampleTest.java
similarity index 100%
rename from source/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/SampleTest.java
rename to core/tools/tools-mocker/src/test/java/test/com/jd/blockchain/contract/SampleTest.java
diff --git a/source/gateway/src/main/resources/application-gw.properties b/deploy/deploy-gateway/conf/application-gw.properties
similarity index 100%
rename from source/gateway/src/main/resources/application-gw.properties
rename to deploy/deploy-gateway/conf/application-gw.properties
diff --git a/source/deployment/deployment-gateway/pom.xml b/deploy/deploy-gateway/pom.xml
similarity index 100%
rename from source/deployment/deployment-gateway/pom.xml
rename to deploy/deploy-gateway/pom.xml
diff --git a/source/deployment/deployment-gateway/src/main/java/com/jd/blockchain/gateway/boot/GatewayBooter.java b/deploy/deploy-gateway/src/main/java/com/jd/blockchain/gateway/boot/GatewayBooter.java
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/java/com/jd/blockchain/gateway/boot/GatewayBooter.java
rename to deploy/deploy-gateway/src/main/java/com/jd/blockchain/gateway/boot/GatewayBooter.java
diff --git a/source/deployment/deployment-gateway/src/main/resources/assembly.xml b/deploy/deploy-gateway/src/main/resources/assembly.xml
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/resources/assembly.xml
rename to deploy/deploy-gateway/src/main/resources/assembly.xml
diff --git a/source/deployment/deployment-gateway/src/main/resources/config/gateway.conf b/deploy/deploy-gateway/src/main/resources/config/gateway.conf
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/resources/config/gateway.conf
rename to deploy/deploy-gateway/src/main/resources/config/gateway.conf
diff --git a/source/deployment/deployment-gateway/src/main/resources/docs/api_doc_cn_1.3.MD b/deploy/deploy-gateway/src/main/resources/docs/api_doc_cn_1.3.MD
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/resources/docs/api_doc_cn_1.3.MD
rename to deploy/deploy-gateway/src/main/resources/docs/api_doc_cn_1.3.MD
diff --git a/source/deployment/deployment-gateway/src/main/resources/docs/api_doc_cn_1.3.html b/deploy/deploy-gateway/src/main/resources/docs/api_doc_cn_1.3.html
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/resources/docs/api_doc_cn_1.3.html
rename to deploy/deploy-gateway/src/main/resources/docs/api_doc_cn_1.3.html
diff --git a/source/deployment/deployment-gateway/src/main/resources/docs/api_doc_cn_1.4.MD b/deploy/deploy-gateway/src/main/resources/docs/api_doc_cn_1.4.MD
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/resources/docs/api_doc_cn_1.4.MD
rename to deploy/deploy-gateway/src/main/resources/docs/api_doc_cn_1.4.MD
diff --git a/source/deployment/deployment-gateway/src/main/resources/scripts/shutdown.sh b/deploy/deploy-gateway/src/main/resources/scripts/shutdown.sh
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/resources/scripts/shutdown.sh
rename to deploy/deploy-gateway/src/main/resources/scripts/shutdown.sh
diff --git a/source/deployment/deployment-gateway/src/main/resources/scripts/startup.sh b/deploy/deploy-gateway/src/main/resources/scripts/startup.sh
similarity index 100%
rename from source/deployment/deployment-gateway/src/main/resources/scripts/startup.sh
rename to deploy/deploy-gateway/src/main/resources/scripts/startup.sh
diff --git a/source/deployment/deployment-peer/pom.xml b/deploy/deploy-peer/pom.xml
similarity index 100%
rename from source/deployment/deployment-peer/pom.xml
rename to deploy/deploy-peer/pom.xml
diff --git a/source/deployment/deployment-peer/src/main/java/com/jd/blockchain/boot/peer/PeerBooter.java b/deploy/deploy-peer/src/main/java/com/jd/blockchain/boot/peer/PeerBooter.java
similarity index 100%
rename from source/deployment/deployment-peer/src/main/java/com/jd/blockchain/boot/peer/PeerBooter.java
rename to deploy/deploy-peer/src/main/java/com/jd/blockchain/boot/peer/PeerBooter.java
diff --git a/source/deployment/deployment-peer/src/main/resources/assembly.xml b/deploy/deploy-peer/src/main/resources/assembly.xml
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/assembly.xml
rename to deploy/deploy-peer/src/main/resources/assembly.xml
diff --git a/source/deployment/deployment-peer/src/main/resources/config/init/bftsmart.config b/deploy/deploy-peer/src/main/resources/config/init/bftsmart.config
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/config/init/bftsmart.config
rename to deploy/deploy-peer/src/main/resources/config/init/bftsmart.config
diff --git a/source/deployment/deployment-peer/src/main/resources/config/init/ledger.init b/deploy/deploy-peer/src/main/resources/config/init/ledger.init
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/config/init/ledger.init
rename to deploy/deploy-peer/src/main/resources/config/init/ledger.init
diff --git a/source/deployment/deployment-peer/src/main/resources/config/init/local.conf b/deploy/deploy-peer/src/main/resources/config/init/local.conf
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/config/init/local.conf
rename to deploy/deploy-peer/src/main/resources/config/init/local.conf
diff --git a/source/deployment/deployment-peer/src/main/resources/config/init/mq/ledger.init b/deploy/deploy-peer/src/main/resources/config/init/mq/ledger.init
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/config/init/mq/ledger.init
rename to deploy/deploy-peer/src/main/resources/config/init/mq/ledger.init
diff --git a/source/deployment/deployment-peer/src/main/resources/config/init/mq/local.conf b/deploy/deploy-peer/src/main/resources/config/init/mq/local.conf
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/config/init/mq/local.conf
rename to deploy/deploy-peer/src/main/resources/config/init/mq/local.conf
diff --git a/source/deployment/deployment-peer/src/main/resources/config/init/mq/mq.config b/deploy/deploy-peer/src/main/resources/config/init/mq/mq.config
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/config/init/mq/mq.config
rename to deploy/deploy-peer/src/main/resources/config/init/mq/mq.config
diff --git a/source/deployment/deployment-peer/src/main/resources/docs/imgs/browser.jpeg b/deploy/deploy-peer/src/main/resources/docs/imgs/browser.jpeg
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/docs/imgs/browser.jpeg
rename to deploy/deploy-peer/src/main/resources/docs/imgs/browser.jpeg
diff --git a/source/deployment/deployment-peer/src/main/resources/docs/imgs/keys.jpeg b/deploy/deploy-peer/src/main/resources/docs/imgs/keys.jpeg
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/docs/imgs/keys.jpeg
rename to deploy/deploy-peer/src/main/resources/docs/imgs/keys.jpeg
diff --git a/source/deployment/deployment-peer/src/main/resources/docs/imgs/structure.png b/deploy/deploy-peer/src/main/resources/docs/imgs/structure.png
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/docs/imgs/structure.png
rename to deploy/deploy-peer/src/main/resources/docs/imgs/structure.png
diff --git a/source/deployment/deployment-peer/src/main/resources/docs/安装部署.MD b/deploy/deploy-peer/src/main/resources/docs/安装部署.MD
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/docs/安装部署.MD
rename to deploy/deploy-peer/src/main/resources/docs/安装部署.MD
diff --git a/source/deployment/deployment-peer/src/main/resources/docs/安装部署.html b/deploy/deploy-peer/src/main/resources/docs/安装部署.html
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/docs/安装部署.html
rename to deploy/deploy-peer/src/main/resources/docs/安装部署.html
diff --git a/source/deployment/deployment-peer/src/main/resources/scripts/keygen.sh b/deploy/deploy-peer/src/main/resources/scripts/keygen.sh
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/scripts/keygen.sh
rename to deploy/deploy-peer/src/main/resources/scripts/keygen.sh
diff --git a/source/deployment/deployment-peer/src/main/resources/scripts/ledger-init.sh b/deploy/deploy-peer/src/main/resources/scripts/ledger-init.sh
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/scripts/ledger-init.sh
rename to deploy/deploy-peer/src/main/resources/scripts/ledger-init.sh
diff --git a/source/deployment/deployment-peer/src/main/resources/scripts/manager-shutdown.sh b/deploy/deploy-peer/src/main/resources/scripts/manager-shutdown.sh
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/scripts/manager-shutdown.sh
rename to deploy/deploy-peer/src/main/resources/scripts/manager-shutdown.sh
diff --git a/source/deployment/deployment-peer/src/main/resources/scripts/manager-startup.sh b/deploy/deploy-peer/src/main/resources/scripts/manager-startup.sh
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/scripts/manager-startup.sh
rename to deploy/deploy-peer/src/main/resources/scripts/manager-startup.sh
diff --git a/source/deployment/deployment-peer/src/main/resources/scripts/peer-shutdown.sh b/deploy/deploy-peer/src/main/resources/scripts/peer-shutdown.sh
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/scripts/peer-shutdown.sh
rename to deploy/deploy-peer/src/main/resources/scripts/peer-shutdown.sh
diff --git a/source/deployment/deployment-peer/src/main/resources/scripts/peer-startup.sh b/deploy/deploy-peer/src/main/resources/scripts/peer-startup.sh
similarity index 100%
rename from source/deployment/deployment-peer/src/main/resources/scripts/peer-startup.sh
rename to deploy/deploy-peer/src/main/resources/scripts/peer-startup.sh
diff --git a/source/deployment/pom.xml b/deploy/pom.xml
similarity index 100%
rename from source/deployment/pom.xml
rename to deploy/pom.xml
diff --git a/source/base/pom.xml b/framework/base/pom.xml
similarity index 100%
rename from source/base/pom.xml
rename to framework/base/pom.xml
diff --git a/source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java b/framework/base/src/main/java/com/jd/blockchain/consts/DataCodes.java
similarity index 100%
rename from source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java
rename to framework/base/src/main/java/com/jd/blockchain/consts/DataCodes.java
diff --git a/source/base/src/main/java/com/jd/blockchain/consts/Global.java b/framework/base/src/main/java/com/jd/blockchain/consts/Global.java
similarity index 100%
rename from source/base/src/main/java/com/jd/blockchain/consts/Global.java
rename to framework/base/src/main/java/com/jd/blockchain/consts/Global.java
diff --git a/source/base/src/main/java/com/jd/blockchain/provider/NamedProvider.java b/framework/base/src/main/java/com/jd/blockchain/provider/NamedProvider.java
similarity index 100%
rename from source/base/src/main/java/com/jd/blockchain/provider/NamedProvider.java
rename to framework/base/src/main/java/com/jd/blockchain/provider/NamedProvider.java
diff --git a/source/base/src/main/java/com/jd/blockchain/provider/Provider.java b/framework/base/src/main/java/com/jd/blockchain/provider/Provider.java
similarity index 100%
rename from source/base/src/main/java/com/jd/blockchain/provider/Provider.java
rename to framework/base/src/main/java/com/jd/blockchain/provider/Provider.java
diff --git a/source/base/src/main/java/com/jd/blockchain/provider/ProviderException.java b/framework/base/src/main/java/com/jd/blockchain/provider/ProviderException.java
similarity index 100%
rename from source/base/src/main/java/com/jd/blockchain/provider/ProviderException.java
rename to framework/base/src/main/java/com/jd/blockchain/provider/ProviderException.java
diff --git a/source/base/src/main/java/com/jd/blockchain/provider/ProviderManager.java b/framework/base/src/main/java/com/jd/blockchain/provider/ProviderManager.java
similarity index 100%
rename from source/base/src/main/java/com/jd/blockchain/provider/ProviderManager.java
rename to framework/base/src/main/java/com/jd/blockchain/provider/ProviderManager.java
diff --git a/source/binary-proto/pom.xml b/framework/binary-proto/pom.xml
similarity index 100%
rename from source/binary-proto/pom.xml
rename to framework/binary-proto/pom.xml
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BaseType.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BaseType.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BaseType.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BaseType.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySegmentHeader.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySegmentHeader.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySegmentHeader.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySegmentHeader.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySliceSpec.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySliceSpec.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySliceSpec.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinarySliceSpec.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContract.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContract.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContract.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContract.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractException.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractException.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractException.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractException.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataSpecification.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataSpecification.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataSpecification.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataSpecification.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumContract.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumContract.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumContract.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumContract.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractFieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractFieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractFieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractFieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolWrapperConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolWrapperConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolWrapperConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BoolWrapperConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesSerializableValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesSerializableValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesSerializableValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesSerializableValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/BytesValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderImpl.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderImpl.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderImpl.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderImpl.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderLookup.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderLookup.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderLookup.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractEncoderLookup.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractGenericRefConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractGenericRefConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractGenericRefConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractGenericRefConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractHeader.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractHeader.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractHeader.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractHeader.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicArrayFieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicArrayFieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicArrayFieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicArrayFieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicDataContract.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicDataContract.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicDataContract.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicDataContract.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicFieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicFieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicFieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicFieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DynamicValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedArrayFieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedArrayFieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedArrayFieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedArrayFieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedFieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedFieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedFieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedFieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FixedValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/GenericFieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/GenericFieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/GenericFieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/GenericFieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/HeaderEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/HeaderEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/HeaderEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/HeaderEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharWrapperConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharWrapperConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharWrapperConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16CharWrapperConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortWrapperConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortWrapperConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortWrapperConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int16ShortWrapperConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntWrapperConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntWrapperConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntWrapperConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int32IntWrapperConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongWrapperConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongWrapperConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongWrapperConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int64LongWrapperConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteWrapperConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteWrapperConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteWrapperConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/Int8ByteWrapperConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/RepeatableFieldEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/RepeatableFieldEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/RepeatableFieldEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/RepeatableFieldEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/SliceEncoder.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/SliceEncoder.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/SliceEncoder.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/SliceEncoder.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/StringValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/StringValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/StringValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/StringValueConverter.java
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/ValueConverter.java b/framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/ValueConverter.java
similarity index 100%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/ValueConverter.java
rename to framework/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/ValueConverter.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatasImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatasImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatasImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatasImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatas.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatas.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatas.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatas.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatasImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatasImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatasImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumDatasImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatasImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatasImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatasImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatasImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatas.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatas.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatas.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatas.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/Operation.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/Operation.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/Operation.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/Operation.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatasImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatasImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatasImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatasImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperationImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperationImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperationImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperationImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/RefEnum.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/RefEnum.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/RefEnum.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/RefEnum.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/ArrayImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/ArrayImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/ArrayImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/ArrayImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/PrivilegeModelSettingImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/PrivilegeModelSettingImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/PrivilegeModelSettingImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/PrivilegeModelSettingImpl.java
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/RefEnumImpl.java b/framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/RefEnumImpl.java
similarity index 100%
rename from source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/RefEnumImpl.java
rename to framework/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/RefEnumImpl.java
diff --git a/source/consensus/consensus-framework/pom.xml b/framework/consensus-framework/pom.xml
similarity index 100%
rename from source/consensus/consensus-framework/pom.xml
rename to framework/consensus-framework/pom.xml
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ActionMessage.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ActionMessage.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ActionMessage.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ActionMessage.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncActionResponse.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncActionResponse.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncActionResponse.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncActionResponse.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncInvoker.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncInvoker.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncInvoker.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncInvoker.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncService.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncService.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncService.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/AsyncService.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/BinaryMessageConverter.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/BinaryMessageConverter.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/BinaryMessageConverter.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/BinaryMessageConverter.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentificationsProvider.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentificationsProvider.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentificationsProvider.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentificationsProvider.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusManageService.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusManageService.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusManageService.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusManageService.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProvider.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProvider.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProvider.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProvider.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProviders.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProviders.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProviders.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusProviders.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSecurityException.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSecurityException.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSecurityException.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSecurityException.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusService.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusService.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusService.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusService.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettingsBuilder.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettingsBuilder.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettingsBuilder.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettingsBuilder.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/GroupIndexer.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/GroupIndexer.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/GroupIndexer.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/GroupIndexer.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/MessageService.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/MessageService.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/MessageService.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/MessageService.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/OrderedAction.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/OrderedAction.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/OrderedAction.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/OrderedAction.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/SettingsFactory.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/SettingsFactory.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/SettingsFactory.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/SettingsFactory.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/Topology.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/Topology.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/Topology.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/Topology.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/UnorderedAction.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/UnorderedAction.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/UnorderedAction.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/UnorderedAction.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequestData.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequestData.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequestData.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequestData.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponseData.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponseData.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponseData.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponseData.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientFactory.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientFactory.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientFactory.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientFactory.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientSettings.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientSettings.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientSettings.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ClientSettings.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClient.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClient.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClient.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClient.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClientProvider.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClientProvider.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClientProvider.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/client/ConsensusClientProvider.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventEntity.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventEntity.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventEntity.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventEntity.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventProducer.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventProducer.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventProducer.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/event/EventProducer.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ConsensusServiceProvider.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ConsensusServiceProvider.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ConsensusServiceProvider.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ConsensusServiceProvider.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/MessageHandle.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/MessageHandle.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/MessageHandle.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/MessageHandle.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServer.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServer.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServer.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServer.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServerFactory.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServerFactory.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServerFactory.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/NodeServerFactory.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ServerSettings.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ServerSettings.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ServerSettings.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/ServerSettings.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateHandle.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateHandle.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateHandle.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateHandle.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateMachineReplicate.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateMachineReplicate.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateMachineReplicate.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateMachineReplicate.java
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateSnapshot.java b/framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateSnapshot.java
similarity index 100%
rename from source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateSnapshot.java
rename to framework/consensus-framework/src/main/java/com/jd/blockchain/consensus/service/StateSnapshot.java
diff --git a/source/contract/contract-framework/pom.xml b/framework/contract-framework/pom.xml
similarity index 100%
rename from source/contract/contract-framework/pom.xml
rename to framework/contract-framework/pom.xml
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractCode.java b/framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractCode.java
similarity index 100%
rename from source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractCode.java
rename to framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractCode.java
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractEngine.java b/framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractEngine.java
similarity index 100%
rename from source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractEngine.java
rename to framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractEngine.java
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProvider.java b/framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProvider.java
similarity index 100%
rename from source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProvider.java
rename to framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProvider.java
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProviders.java b/framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProviders.java
similarity index 100%
rename from source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProviders.java
rename to framework/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProviders.java
diff --git a/source/crypto/crypto-classic/pom.xml b/framework/crypto/crypto-classic/pom.xml
similarity index 100%
rename from source/crypto/crypto-classic/pom.xml
rename to framework/crypto/crypto-classic/pom.xml
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/AESEncryptionFunction.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/AESEncryptionFunction.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/AESEncryptionFunction.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/AESEncryptionFunction.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicAlgorithm.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicAlgorithm.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicAlgorithm.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicAlgorithm.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicCryptoService.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicCryptoService.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicCryptoService.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ClassicCryptoService.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunction.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunction.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunction.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunction.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunction.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunction.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunction.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunction.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/JVMSecureRandomFunction.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/JVMSecureRandomFunction.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/JVMSecureRandomFunction.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/JVMSecureRandomFunction.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunction.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunction.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunction.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunction.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RSACryptoFunction.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RSACryptoFunction.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RSACryptoFunction.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/RSACryptoFunction.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/SHA256HashFunction.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/SHA256HashFunction.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/SHA256HashFunction.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/service/classic/SHA256HashFunction.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/AESUtils.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/AESUtils.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/AESUtils.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/AESUtils.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ECDSAUtils.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ECDSAUtils.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ECDSAUtils.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ECDSAUtils.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ED25519Utils.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ED25519Utils.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ED25519Utils.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/ED25519Utils.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RIPEMD160Utils.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RIPEMD160Utils.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RIPEMD160Utils.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RIPEMD160Utils.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RSAUtils.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RSAUtils.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RSAUtils.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/RSAUtils.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SHA256Utils.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SHA256Utils.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SHA256Utils.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SHA256Utils.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyParser.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyParser.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyParser.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyParser.java
diff --git a/source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyReader.java b/framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyReader.java
similarity index 100%
rename from source/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyReader.java
rename to framework/crypto/crypto-classic/src/main/java/com/jd/blockchain/crypto/utils/classic/SSHKeyReader.java
diff --git a/source/crypto/crypto-classic/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService b/framework/crypto/crypto-classic/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
similarity index 100%
rename from source/crypto/crypto-classic/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
rename to framework/crypto/crypto-classic/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/AESEncryptionFunctionTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/AESEncryptionFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/AESEncryptionFunctionTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/AESEncryptionFunctionTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunctionTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunctionTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ECDSASignatureFunctionTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunctionTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunctionTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/ED25519SignatureFunctionTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/EncodeTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/EncodeTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/EncodeTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/EncodeTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunctionTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunctionTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RIPEMD160HashFunctionTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RSACryptoFunctionTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RSACryptoFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RSACryptoFunctionTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/RSACryptoFunctionTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/SHA256HashFunctionTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/SHA256HashFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/SHA256HashFunctionTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/service/classic/SHA256HashFunctionTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/AESUtilsTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/AESUtilsTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/AESUtilsTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/AESUtilsTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ECDSAUtilsTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ECDSAUtilsTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ECDSAUtilsTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ECDSAUtilsTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ED25519UtilsTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ED25519UtilsTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ED25519UtilsTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/ED25519UtilsTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RIPEMD160UtilsTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RIPEMD160UtilsTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RIPEMD160UtilsTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RIPEMD160UtilsTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RSAUtilsTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RSAUtilsTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RSAUtilsTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/RSAUtilsTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SHA256UtilsTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SHA256UtilsTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SHA256UtilsTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SHA256UtilsTest.java
diff --git a/source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SSHKeyUtilsTest.java b/framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SSHKeyUtilsTest.java
similarity index 100%
rename from source/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SSHKeyUtilsTest.java
rename to framework/crypto/crypto-classic/src/test/java/test/com/jd/blockchain/crypto/utils/classic/SSHKeyUtilsTest.java
diff --git a/source/crypto/crypto-framework/pom.xml b/framework/crypto/crypto-framework/pom.xml
similarity index 100%
rename from source/crypto/crypto-framework/pom.xml
rename to framework/crypto/crypto-framework/pom.xml
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressEncoding.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressEncoding.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressEncoding.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressEncoding.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressVersion.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressVersion.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressVersion.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AddressVersion.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricCiphertext.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricCiphertext.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricCiphertext.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricCiphertext.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricEncryptionFunction.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricEncryptionFunction.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricEncryptionFunction.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricEncryptionFunction.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypair.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypair.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypair.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypair.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypairGenerator.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypairGenerator.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypairGenerator.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/AsymmetricKeypairGenerator.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoBytes.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoBytes.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoBytes.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoBytes.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoKey.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoKey.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoKey.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/BaseCryptoKey.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Ciphertext.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Ciphertext.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Ciphertext.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Ciphertext.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Crypto.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Crypto.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Crypto.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/Crypto.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithmDefinition.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithmDefinition.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithmDefinition.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithmDefinition.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytes.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytes.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytes.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytes.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytesEncoding.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytesEncoding.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytesEncoding.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoBytesEncoding.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoDigest.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoDigest.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoDigest.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoDigest.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoException.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoException.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoException.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoException.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoFunction.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoFunction.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoFunction.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoFunction.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKey.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKey.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKey.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKey.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKeyType.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKeyType.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKeyType.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoKeyType.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProvider.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProvider.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProvider.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProvider.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProviderInfo.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProviderInfo.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProviderInfo.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoProviderInfo.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoService.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoService.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoService.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoService.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoUtils.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoUtils.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoUtils.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoUtils.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashDigest.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashDigest.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashDigest.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashDigest.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashFunction.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashFunction.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashFunction.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/HashFunction.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/KeyGenUtils.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/KeyGenUtils.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/KeyGenUtils.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/KeyGenUtils.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PrivKey.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PrivKey.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PrivKey.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PrivKey.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PubKey.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PubKey.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PubKey.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/PubKey.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomFunction.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomFunction.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomFunction.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomFunction.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomGenerator.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomGenerator.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomGenerator.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/RandomGenerator.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureDigest.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureDigest.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureDigest.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureDigest.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureFunction.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureFunction.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureFunction.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SignatureFunction.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricCiphertext.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricCiphertext.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricCiphertext.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricCiphertext.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricEncryptionFunction.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricEncryptionFunction.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricEncryptionFunction.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricEncryptionFunction.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKey.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKey.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKey.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKey.java
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKeyGenerator.java b/framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKeyGenerator.java
similarity index 100%
rename from source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKeyGenerator.java
rename to framework/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/SymmetricKeyGenerator.java
diff --git a/source/crypto/crypto-framework/src/test/java/test/com/jd/blockchain/crypto/CryptoKeySerializationTest.java b/framework/crypto/crypto-framework/src/test/java/test/com/jd/blockchain/crypto/CryptoKeySerializationTest.java
similarity index 100%
rename from source/crypto/crypto-framework/src/test/java/test/com/jd/blockchain/crypto/CryptoKeySerializationTest.java
rename to framework/crypto/crypto-framework/src/test/java/test/com/jd/blockchain/crypto/CryptoKeySerializationTest.java
diff --git a/source/crypto/crypto-sm/pom.xml b/framework/crypto/crypto-sm/pom.xml
similarity index 100%
rename from source/crypto/crypto-sm/pom.xml
rename to framework/crypto/crypto-sm/pom.xml
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM2CryptoFunction.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM2CryptoFunction.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM2CryptoFunction.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM2CryptoFunction.java
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM3HashFunction.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM3HashFunction.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM3HashFunction.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM3HashFunction.java
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunction.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunction.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunction.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunction.java
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMAlgorithm.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMAlgorithm.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMAlgorithm.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMAlgorithm.java
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMCryptoService.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMCryptoService.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMCryptoService.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/service/sm/SMCryptoService.java
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM2Utils.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM2Utils.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM2Utils.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM2Utils.java
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM3Utils.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM3Utils.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM3Utils.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM3Utils.java
diff --git a/source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM4Utils.java b/framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM4Utils.java
similarity index 100%
rename from source/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM4Utils.java
rename to framework/crypto/crypto-sm/src/main/java/com/jd/blockchain/crypto/utils/sm/SM4Utils.java
diff --git a/source/crypto/crypto-sm/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService b/framework/crypto/crypto-sm/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
similarity index 100%
rename from source/crypto/crypto-sm/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
rename to framework/crypto/crypto-sm/src/main/resources/META-INF/services/com.jd.blockchain.crypto.CryptoService
diff --git a/source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM2CyptoFunctionTest.java b/framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM2CyptoFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM2CyptoFunctionTest.java
rename to framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM2CyptoFunctionTest.java
diff --git a/source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM3HashFunctionTest.java b/framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM3HashFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM3HashFunctionTest.java
rename to framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM3HashFunctionTest.java
diff --git a/source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunctionTest.java b/framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunctionTest.java
similarity index 100%
rename from source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunctionTest.java
rename to framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/service/sm/SM4EncryptionFunctionTest.java
diff --git a/source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM2UtilsTest.java b/framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM2UtilsTest.java
similarity index 100%
rename from source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM2UtilsTest.java
rename to framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM2UtilsTest.java
diff --git a/source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM3UtilsTest.java b/framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM3UtilsTest.java
similarity index 100%
rename from source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM3UtilsTest.java
rename to framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM3UtilsTest.java
diff --git a/source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM4UtilsTest.java b/framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM4UtilsTest.java
similarity index 100%
rename from source/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM4UtilsTest.java
rename to framework/crypto/crypto-sm/src/test/java/test/com/jd/blockchain/crypto/utils/SM4UtilsTest.java
diff --git a/framework/crypto/pom.xml b/framework/crypto/pom.xml
new file mode 100644
index 00000000..f9774b54
--- /dev/null
+++ b/framework/crypto/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ com.jd.blockchain
+ jdchain-root
+ 1.1.2.RELEASE
+
+ crypto
+ pom
+
+
+ crypto-framework
+ crypto-classic
+ crypto-sm
+
+ crypto-adv
+ crypto-pki
+
+
+
\ No newline at end of file
diff --git a/source/ledger/ledger-model/pom.xml b/framework/ledger-model/pom.xml
similarity index 100%
rename from source/ledger/ledger-model/pom.xml
rename to framework/ledger-model/pom.xml
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/Contract.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/Contract.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/Contract.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/Contract.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractAware.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractAware.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractAware.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractAware.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEvent.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEvent.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEvent.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEvent.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEventContext.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEventContext.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEventContext.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEventContext.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractJarUtils.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractJarUtils.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractJarUtils.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractJarUtils.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractLifecycleAware.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractLifecycleAware.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractLifecycleAware.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractLifecycleAware.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractSerializeUtils.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractSerializeUtils.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractSerializeUtils.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractSerializeUtils.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractType.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractType.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractType.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/ContractType.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventHandle.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/EventHandle.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventHandle.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/EventHandle.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventProcessingAware.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/EventProcessingAware.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventProcessingAware.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/EventProcessingAware.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventResult.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/EventResult.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventResult.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/EventResult.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LedgerContext.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/LedgerContext.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LedgerContext.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/LedgerContext.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LocalContractEventContext.java b/framework/ledger-model/src/main/java/com/jd/blockchain/contract/LocalContractEventContext.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LocalContractEventContext.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/contract/LocalContractEventContext.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Account.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Account.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Account.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Account.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AuthorizationException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/AuthorizationException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AuthorizationException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/AuthorizationException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockRollbackException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockRollbackException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockRollbackException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockRollbackException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainEventType.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainEventType.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainEventType.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainEventType.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentityData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentityData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentityData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentityData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeyGenerator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeyGenerator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeyGenerator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeyGenerator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeypair.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeypair.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeypair.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainKeypair.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesDataList.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesDataList.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesDataList.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesDataList.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueEncoding.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueEncoding.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueEncoding.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueEncoding.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueList.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueList.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueList.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueList.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CodeDeployOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/CodeDeployOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CodeDeployOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/CodeDeployOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusNode.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusNode.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusNode.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusNode.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusSetting.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusSetting.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusSetting.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ConsensusSetting.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractDoesNotExistException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractDoesNotExistException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractDoesNotExistException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractDoesNotExistException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractInfo.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractInfo.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractInfo.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractInfo.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountDoesNotExistException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountDoesNotExistException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountDoesNotExistException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountDoesNotExistException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataType.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataType.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataType.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataType.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataVersionConflictException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataVersionConflictException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataVersionConflictException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DataVersionConflictException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashAlgorithm.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/HashAlgorithm.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashAlgorithm.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/HashAlgorithm.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashProof.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/HashProof.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashProof.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/HashProof.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/IllegalTransactionException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/IllegalTransactionException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/IllegalTransactionException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/IllegalTransactionException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataVO.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataVO.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataVO.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataVO.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVInfoVO.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/KVInfoVO.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVInfoVO.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/KVInfoVO.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Ledger.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Ledger.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Ledger.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Ledger.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminInfo.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminInfo.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminInfo.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminInfo.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminSettings.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminSettings.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminSettings.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerAdminSettings.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInfo.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInfo.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInfo.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInfo.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitProperties.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata_V2.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata_V2.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata_V2.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerMetadata_V2.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermission.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermission.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermission.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermission.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermissionException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermissionException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermissionException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPermissionException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPrivilege.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPrivilege.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPrivilege.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerPrivilege.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSecurityException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSecurityException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSecurityException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSecurityException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSettings.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSettings.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSettings.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerSettings.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MagicNumber.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MagicNumber.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MagicNumber.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MagicNumber.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleDataNode.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleDataNode.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleDataNode.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleDataNode.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleNode.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleNode.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleNode.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleNode.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleProof.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleProof.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleProof.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleProof.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleSnapshot.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleSnapshot.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleSnapshot.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/MerkleSnapshot.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationArgument.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationArgument.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationArgument.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationArgument.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResult.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResult.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResult.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResult.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResultData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResultData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResultData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/OperationResultData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDataQuery.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDataQuery.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDataQuery.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDataQuery.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDoesNotExistException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDoesNotExistException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDoesNotExistException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantDoesNotExistException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfo.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfo.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfo.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfo.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfoData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfoData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfoData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantInfoData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNodeState.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNodeState.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNodeState.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNodeState.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantRegisterOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantRegisterOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantRegisterOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantRegisterOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfo.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfo.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfo.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfo.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfoData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfoData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfoData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateInfoData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantStateUpdateOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PermissionType.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PermissionType.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PermissionType.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PermissionType.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PreparedTransaction.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PreparedTransaction.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PreparedTransaction.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PreparedTransaction.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Privilege.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Privilege.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Privilege.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Privilege.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeBitset.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeBitset.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeBitset.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeBitset.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeSet.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeSet.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeSet.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/PrivilegeSet.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Privileges.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Privileges.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Privileges.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Privileges.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleInitSettings.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivilegeSettings.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivilegeSettings.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivilegeSettings.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivilegeSettings.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivileges.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivileges.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivileges.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolePrivileges.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleSet.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleSet.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleSet.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RoleSet.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesConfigureOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesConfigureOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesConfigureOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesConfigureOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesPolicy.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesPolicy.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesPolicy.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/RolesPolicy.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityInitSettings.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityUtils.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityUtils.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityUtils.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SecurityUtils.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SignatureInfo.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SignatureInfo.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/SignatureInfo.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/SignatureInfo.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/StateOpType.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/StateOpType.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/StateOpType.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/StateOpType.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPermission.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPermission.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPermission.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPermission.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPrivilege.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPrivilege.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPrivilege.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionPrivilege.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequestBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequestBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequestBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequestBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRespHandle.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRespHandle.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRespHandle.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRespHandle.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRollbackException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRollbackException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRollbackException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRollbackException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVEntry.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVEntry.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVEntry.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedKVEntry.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue_.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue_.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue_.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/TypedValue_.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAccountHeader.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAccountHeader.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAccountHeader.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAccountHeader.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitSettings.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitSettings.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitSettings.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthInitSettings.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizationSettings.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizationSettings.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizationSettings.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizationSettings.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizeOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizeOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizeOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserAuthorizeOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserDoesNotExistException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserDoesNotExistException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserDoesNotExistException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserDoesNotExistException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfoSetOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfoSetOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfoSetOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfoSetOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRoles.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRoles.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRoles.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRoles.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ValueTypeCastException.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ValueTypeCastException.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ValueTypeCastException.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/ValueTypeCastException.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/AbstractBytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/AbstractBytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/AbstractBytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/AbstractBytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BooleanToBytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BooleanToBytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BooleanToBytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BooleanToBytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesToBytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesToBytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesToBytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesToBytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/BytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/IntegerToBytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/IntegerToBytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/IntegerToBytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/IntegerToBytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/LongToBytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/LongToBytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/LongToBytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/LongToBytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/ShortToBytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/ShortToBytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/ShortToBytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/ShortToBytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/StringToBytesValueResolver.java b/framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/StringToBytesValueResolver.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/StringToBytesValueResolver.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/ledger/resolver/StringToBytesValueResolver.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchProcess.java b/framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchProcess.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchProcess.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchProcess.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResult.java b/framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResult.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResult.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResult.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResultHandle.java b/framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResultHandle.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResultHandle.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResultHandle.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionEngine.java b/framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionEngine.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionEngine.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/service/TransactionEngine.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/GatewayIncomingSetting.java b/framework/ledger-model/src/main/java/com/jd/blockchain/setting/GatewayIncomingSetting.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/GatewayIncomingSetting.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/setting/GatewayIncomingSetting.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/LedgerIncomingSetting.java b/framework/ledger-model/src/main/java/com/jd/blockchain/setting/LedgerIncomingSetting.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/LedgerIncomingSetting.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/setting/LedgerIncomingSetting.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainOperationFactory.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainOperationFactory.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainOperationFactory.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainOperationFactory.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainQueryService.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainQueryService.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainQueryService.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainQueryService.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BooleanValueHolder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/BooleanValueHolder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BooleanValueHolder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/BooleanValueHolder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ByteValueHolder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ByteValueHolder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ByteValueHolder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ByteValueHolder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ClientOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ClientOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ClientOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ClientOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventExecutor.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventExecutor.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventExecutor.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventExecutor.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocation.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocation.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocation.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocation.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationHandler.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationHandler.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationHandler.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationHandler.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxyBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxyBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxyBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxyBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationStub.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationStub.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationStub.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationStub.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractReturnValue.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractReturnValue.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractReturnValue.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractReturnValue.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DigitalSignatureBlob.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DigitalSignatureBlob.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DigitalSignatureBlob.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/DigitalSignatureBlob.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/EventOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/EventOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/EventOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/EventOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/GenericValueHolder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/GenericValueHolder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/GenericValueHolder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/GenericValueHolder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/IntValueHolder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/IntValueHolder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/IntValueHolder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/IntValueHolder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/KVData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/KVData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/KVData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/KVData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LongValueHolder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LongValueHolder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LongValueHolder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/LongValueHolder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/NewLedgerOpBlob.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/NewLedgerOpBlob.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/NewLedgerOpBlob.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/NewLedgerOpBlob.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedContext.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedContext.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedContext.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedContext.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedListener.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedListener.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedListener.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationCompletedListener.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHandle.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHandle.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHandle.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHandle.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHolder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHolder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHolder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/OperationResultHolder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantRegisterOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ParticipantStateUpdateOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PreparedTx.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/PreparedTx.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PreparedTx.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/PreparedTx.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PrivilegeSettingOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/PrivilegeSettingOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PrivilegeSettingOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/PrivilegeSettingOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PubKeyData.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/PubKeyData.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PubKeyData.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/PubKeyData.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolePrivilegeConfigurer.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolePrivilegeConfigurer.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolePrivilegeConfigurer.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolePrivilegeConfigurer.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigure.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigure.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigure.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigure.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigureOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigureOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigureOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigureOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigurer.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigurer.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigurer.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/RolesConfigurer.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SecurityOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ShortValueHolder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ShortValueHolder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ShortValueHolder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ShortValueHolder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureEncoding.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureEncoding.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureEncoding.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureEncoding.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureUtils.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureUtils.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureUtils.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureUtils.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionCancelledExeption.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionCancelledExeption.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionCancelledExeption.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionCancelledExeption.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionService.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionService.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionService.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionService.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxContentBlob.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxContentBlob.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxContentBlob.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxContentBlob.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestMessage.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestMessage.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestMessage.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestMessage.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxResponseMessage.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxResponseMessage.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxResponseMessage.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxResponseMessage.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxStateManager.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxStateManager.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxStateManager.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxStateManager.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/TxTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorize.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorize.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorize.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorize.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizeOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizeOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizeOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizeOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizer.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizer.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizer.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserAuthorizer.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserOperator.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserOperator.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserOperator.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserOperator.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOpTemplate.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOpTemplate.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOpTemplate.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOpTemplate.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilder.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilder.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilder.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilder.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilderImpl.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilderImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilderImpl.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilderImpl.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRolesAuthorizer.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRolesAuthorizer.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRolesAuthorizer.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRolesAuthorizer.java
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ValueHolderWrapper.java b/framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ValueHolderWrapper.java
similarity index 100%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ValueHolderWrapper.java
rename to framework/ledger-model/src/main/java/com/jd/blockchain/transaction/ValueHolderWrapper.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/AddressEncodingTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/AddressEncodingTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/AddressEncodingTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/AddressEncodingTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesEncodingTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesEncodingTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesEncodingTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesEncodingTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesToBytesValueResolverTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesToBytesValueResolverTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesToBytesValueResolverTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesToBytesValueResolverTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesValueEncodingTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesValueEncodingTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesValueEncodingTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/BytesValueEncodingTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractCodeDeployOpTemplateTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractCodeDeployOpTemplateTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractCodeDeployOpTemplateTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractCodeDeployOpTemplateTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractEventSendOpTemplateTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractEventSendOpTemplateTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractEventSendOpTemplateTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractEventSendOpTemplateTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractTypeTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractTypeTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractTypeTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ContractTypeTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountKVSetOpTemplateTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountKVSetOpTemplateTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountKVSetOpTemplateTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountKVSetOpTemplateTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountRegisterOpTemplateTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountRegisterOpTemplateTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountRegisterOpTemplateTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DataAccountRegisterOpTemplateTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DigitalSignatureBlobTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DigitalSignatureBlobTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DigitalSignatureBlobTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/DigitalSignatureBlobTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ED25519SignatureTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ED25519SignatureTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ED25519SignatureTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ED25519SignatureTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/IntegerToBytesValueResolverTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/IntegerToBytesValueResolverTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/IntegerToBytesValueResolverTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/IntegerToBytesValueResolverTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/KVDataTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/KVDataTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/KVDataTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/KVDataTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LedgerInitPropertiesTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LedgerInitPropertiesTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LedgerInitPropertiesTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LedgerInitPropertiesTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LongToBytesValueResolverTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LongToBytesValueResolverTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LongToBytesValueResolverTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/LongToBytesValueResolverTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContract.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContract.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContract.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContract.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContractImpl.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContractImpl.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContractImpl.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/NormalContractImpl.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/OpBlobTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/OpBlobTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/OpBlobTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/OpBlobTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/PrivilegesTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/PrivilegesTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/PrivilegesTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/PrivilegesTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SecurityInitDataTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ShortToBytesValueResolverTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ShortToBytesValueResolverTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ShortToBytesValueResolverTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/ShortToBytesValueResolverTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SizeHeaderMaskTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SizeHeaderMaskTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SizeHeaderMaskTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/SizeHeaderMaskTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/StringToBytesValueResolverTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/StringToBytesValueResolverTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/StringToBytesValueResolverTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/StringToBytesValueResolverTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxContentBlobTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxContentBlobTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxContentBlobTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxContentBlobTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxRequestMessageTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxRequestMessageTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxRequestMessageTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxRequestMessageTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxResponseMessageTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxResponseMessageTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxResponseMessageTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/TxResponseMessageTest.java
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/UserRegisterOpTemplateTest.java b/framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/UserRegisterOpTemplateTest.java
similarity index 100%
rename from source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/UserRegisterOpTemplateTest.java
rename to framework/ledger-model/src/test/java/test/com/jd/blockchain/ledger/UserRegisterOpTemplateTest.java
diff --git a/source/tools/tools-initializer/bftsmart.config b/framework/ledger-model/src/test/resources/bftsmart.config
similarity index 100%
rename from source/tools/tools-initializer/bftsmart.config
rename to framework/ledger-model/src/test/resources/bftsmart.config
diff --git a/source/test/test-integration/src/test/resources/keys/parti2.pub b/framework/ledger-model/src/test/resources/keys/parti2.pub
similarity index 100%
rename from source/test/test-integration/src/test/resources/keys/parti2.pub
rename to framework/ledger-model/src/test/resources/keys/parti2.pub
diff --git a/source/ledger/ledger-model/src/test/resources/ledger.init b/framework/ledger-model/src/test/resources/ledger.init
similarity index 100%
rename from source/ledger/ledger-model/src/test/resources/ledger.init
rename to framework/ledger-model/src/test/resources/ledger.init
diff --git a/source/sdk/pom.xml b/framework/sdk/pom.xml
similarity index 100%
rename from source/sdk/pom.xml
rename to framework/sdk/pom.xml
diff --git a/source/sdk/sdk-base/pom.xml b/framework/sdk/sdk-base/pom.xml
similarity index 100%
rename from source/sdk/sdk-base/pom.xml
rename to framework/sdk/sdk-base/pom.xml
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/AbstractBlockchainServiceFactory.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/AbstractBlockchainServiceFactory.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/AbstractBlockchainServiceFactory.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/AbstractBlockchainServiceFactory.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventHandle.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventHandle.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventHandle.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventHandle.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventListener.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventListener.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventListener.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventListener.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventMessage.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventMessage.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventMessage.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventMessage.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventService.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventService.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventService.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainEventService.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainException.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainException.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainException.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainException.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainServiceFactory.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainServiceFactory.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainServiceFactory.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainServiceFactory.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainTransactionService.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainTransactionService.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainTransactionService.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainTransactionService.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ContractSettings.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ContractSettings.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ContractSettings.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ContractSettings.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/DefaultServiceSetting.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/DefaultServiceSetting.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/DefaultServiceSetting.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/DefaultServiceSetting.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerBaseSettings.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerBaseSettings.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerBaseSettings.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerBaseSettings.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/PrivilegeSetting.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/PrivilegeSetting.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/PrivilegeSetting.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/PrivilegeSetting.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ServiceSetting.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ServiceSetting.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ServiceSetting.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ServiceSetting.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TransactionalScope.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TransactionalScope.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TransactionalScope.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TransactionalScope.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TxCommiter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TxCommiter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TxCommiter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/TxCommiter.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/ClientResolveUtil.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestToStringConverter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestToStringConverter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestToStringConverter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestToStringConverter.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeDeployOperationBuilder.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeDeployOperationBuilder.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeDeployOperationBuilder.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeDeployOperationBuilder.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeInvokeOperationBuilder.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeInvokeOperationBuilder.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeInvokeOperationBuilder.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/CodeInvokeOperationBuilder.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpQueryServiceAdapter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpQueryServiceAdapter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpQueryServiceAdapter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpQueryServiceAdapter.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/IncomingInfo.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/IncomingInfo.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/IncomingInfo.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/IncomingInfo.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/LedgerGroupIndexer.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/LedgerGroupIndexer.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/LedgerGroupIndexer.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/LedgerGroupIndexer.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java b/framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java
similarity index 100%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java
rename to framework/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java
diff --git a/source/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/BlockchainServiceProxyTest.java b/framework/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/BlockchainServiceProxyTest.java
similarity index 100%
rename from source/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/BlockchainServiceProxyTest.java
rename to framework/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/BlockchainServiceProxyTest.java
diff --git a/source/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/TxMessageTest.java b/framework/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/TxMessageTest.java
similarity index 100%
rename from source/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/TxMessageTest.java
rename to framework/sdk/sdk-base/src/test/java/test/com/jd/blockchain/sdk/proxy/TxMessageTest.java
diff --git a/source/sdk/sdk-client/pom.xml b/framework/sdk/sdk-client/pom.xml
similarity index 100%
rename from source/sdk/sdk-client/pom.xml
rename to framework/sdk/sdk-client/pom.xml
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/ClientResolveUtil.java b/framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/ClientResolveUtil.java
similarity index 100%
rename from source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/ClientResolveUtil.java
rename to framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/ClientResolveUtil.java
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java b/framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java
similarity index 100%
rename from source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java
rename to framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayIncomingInfo.java b/framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayIncomingInfo.java
similarity index 100%
rename from source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayIncomingInfo.java
rename to framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayIncomingInfo.java
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java b/framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java
similarity index 100%
rename from source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java
rename to framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java b/framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java
similarity index 100%
rename from source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java
rename to framework/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java
diff --git a/framework/storage/pom.xml b/framework/storage/pom.xml
new file mode 100644
index 00000000..7e432edd
--- /dev/null
+++ b/framework/storage/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+
+ com.jd.blockchain
+ jdchain-root
+ 1.1.2.RELEASE
+
+ storage
+ pom
+
+ storage-service
+ storage-redis
+ storage-rocksdb
+ storage-composite
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 2.8.2
+
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/source/storage/storage-composite/pom.xml b/framework/storage/storage-composite/pom.xml
similarity index 100%
rename from source/storage/storage-composite/pom.xml
rename to framework/storage/storage-composite/pom.xml
diff --git a/source/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactory.java b/framework/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactory.java
similarity index 100%
rename from source/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactory.java
rename to framework/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactory.java
diff --git a/source/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeStorageConfiguration.java b/framework/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeStorageConfiguration.java
similarity index 100%
rename from source/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeStorageConfiguration.java
rename to framework/storage/storage-composite/src/main/java/com/jd/blockchain/storage/service/impl/composite/CompositeStorageConfiguration.java
diff --git a/source/storage/storage-composite/src/main/resources/META-INF/spring.factories b/framework/storage/storage-composite/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from source/storage/storage-composite/src/main/resources/META-INF/spring.factories
rename to framework/storage/storage-composite/src/main/resources/META-INF/spring.factories
diff --git a/source/storage/storage-composite/src/test/java/test/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactoryTest.java b/framework/storage/storage-composite/src/test/java/test/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactoryTest.java
similarity index 100%
rename from source/storage/storage-composite/src/test/java/test/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactoryTest.java
rename to framework/storage/storage-composite/src/test/java/test/com/jd/blockchain/storage/service/impl/composite/CompositeConnectionFactoryTest.java
diff --git a/source/storage/storage-service/pom.xml b/framework/storage/storage-service/pom.xml
similarity index 100%
rename from source/storage/storage-service/pom.xml
rename to framework/storage/storage-service/pom.xml
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/BatchStorageService.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/BatchStorageService.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/BatchStorageService.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/BatchStorageService.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnection.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnection.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnection.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnection.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnectionFactory.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnectionFactory.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnectionFactory.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/DbConnectionFactory.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/ExPolicyKVStorage.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/ExPolicyKVStorage.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/ExPolicyKVStorage.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/ExPolicyKVStorage.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/KVStorageService.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/KVStorageService.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/KVStorageService.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/KVStorageService.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/VersioningKVStorage.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/VersioningKVStorage.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/VersioningKVStorage.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/VersioningKVStorage.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/BufferedKVStorage.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/BufferedKVStorage.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/BufferedKVStorage.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/BufferedKVStorage.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/ExistancePolicyKVStorageMap.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/ExistancePolicyKVStorageMap.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/ExistancePolicyKVStorageMap.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/ExistancePolicyKVStorageMap.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryBasedDb.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryBasedDb.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryBasedDb.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryBasedDb.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConn.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConn.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConn.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConn.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConnFactory.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConnFactory.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConnFactory.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryDBConnFactory.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryKVStorage.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryKVStorage.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryKVStorage.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/MemoryKVStorage.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVData.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVData.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVData.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVData.java
diff --git a/source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVStorageMap.java b/framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVStorageMap.java
similarity index 100%
rename from source/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVStorageMap.java
rename to framework/storage/storage-service/src/main/java/com/jd/blockchain/storage/service/utils/VersioningKVStorageMap.java
diff --git a/source/storage/storage-service/src/test/java/test/com/jd/blockchain/storage/service/utils/BufferedKVStorageTest.java b/framework/storage/storage-service/src/test/java/test/com/jd/blockchain/storage/service/utils/BufferedKVStorageTest.java
similarity index 100%
rename from source/storage/storage-service/src/test/java/test/com/jd/blockchain/storage/service/utils/BufferedKVStorageTest.java
rename to framework/storage/storage-service/src/test/java/test/com/jd/blockchain/storage/service/utils/BufferedKVStorageTest.java
diff --git a/source/utils/.gitignore b/framework/utils/.gitignore
similarity index 100%
rename from source/utils/.gitignore
rename to framework/utils/.gitignore
diff --git a/source/utils/pom.xml b/framework/utils/pom.xml
similarity index 100%
rename from source/utils/pom.xml
rename to framework/utils/pom.xml
diff --git a/source/utils/utils-common/.gitignore b/framework/utils/utils-common/.gitignore
similarity index 100%
rename from source/utils/utils-common/.gitignore
rename to framework/utils/utils-common/.gitignore
diff --git a/source/utils/utils-common/pom.xml b/framework/utils/utils-common/pom.xml
similarity index 100%
rename from source/utils/utils-common/pom.xml
rename to framework/utils/utils-common/pom.xml
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArgumentSet.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArgumentSet.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArgumentSet.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArgumentSet.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArrayUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArrayUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArrayUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ArrayUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/AttributeMap.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/AttributeMap.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/AttributeMap.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/AttributeMap.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Attributes.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Attributes.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Attributes.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Attributes.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/BaseConstant.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/BaseConstant.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/BaseConstant.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/BaseConstant.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/BusinessException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/BusinessException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/BusinessException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/BusinessException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ConsoleUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ConsoleUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ConsoleUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ConsoleUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataEntry.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataEntry.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataEntry.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataEntry.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataIterator.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataIterator.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataIterator.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/DataIterator.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Dataset.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Dataset.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Dataset.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Dataset.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/DatasetHelper.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/DatasetHelper.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/DatasetHelper.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/DatasetHelper.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Disposable.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Disposable.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Disposable.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Disposable.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/EmptyProperties.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/EmptyProperties.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/EmptyProperties.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/EmptyProperties.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/IllegalDataException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/IllegalDataException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/IllegalDataException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/IllegalDataException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Int8Code.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Int8Code.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Int8Code.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Int8Code.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/IteratorWrapper.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/IteratorWrapper.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/IteratorWrapper.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/IteratorWrapper.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/PathUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/PathUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/PathUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/PathUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/PrimitiveUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/PrimitiveUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/PrimitiveUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/PrimitiveUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/PropertiesUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/PropertiesUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/PropertiesUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/PropertiesUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Property.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Property.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Property.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Property.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/QueryUtil.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/QueryUtil.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/QueryUtil.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/QueryUtil.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ReadonlyArrayListWrapper.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ReadonlyArrayListWrapper.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ReadonlyArrayListWrapper.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ReadonlyArrayListWrapper.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ServiceFactory.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ServiceFactory.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ServiceFactory.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/ServiceFactory.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/StringUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/StringUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/StringUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/StringUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Transactional.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Transactional.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Transactional.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/Transactional.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/Base58Utils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/Base58Utils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/Base58Utils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/Base58Utils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/DataDecodeException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/DataDecodeException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/DataDecodeException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/DataDecodeException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/HexUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/HexUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/HexUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/codec/HexUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFuture.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFuture.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFuture.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFuture.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFutureListener.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFutureListener.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFutureListener.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncFutureListener.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncHandle.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncHandle.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncHandle.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncHandle.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncResult.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncResult.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncResult.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/AsyncResult.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/CompletableAsyncFuture.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/CompletableAsyncFuture.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/CompletableAsyncFuture.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/CompletableAsyncFuture.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/InvocationResult.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/InvocationResult.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/InvocationResult.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/InvocationResult.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/NamedThreadFactory.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/NamedThreadFactory.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/NamedThreadFactory.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/NamedThreadFactory.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeExecutionException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeExecutionException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeExecutionException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeExecutionException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeInterruptedException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeInterruptedException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeInterruptedException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeInterruptedException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeTimeoutException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeTimeoutException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeTimeoutException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/RuntimeTimeoutException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/SyncFutureAdaptor.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/SyncFutureAdaptor.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/SyncFutureAdaptor.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/SyncFutureAdaptor.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadInvoker.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadInvoker.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadInvoker.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadInvoker.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/concurrent/ThreadUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommandConsole.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommandConsole.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommandConsole.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommandConsole.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommondProcessor.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommondProcessor.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommondProcessor.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/console/CommondProcessor.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/loads/BytesTypeLoader.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/loads/BytesTypeLoader.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/loads/BytesTypeLoader.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/loads/BytesTypeLoader.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/utils/DecompilerUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/utils/DecompilerUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/utils/DecompilerUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/decompiler/utils/DecompilerUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/DefaultExceptionHandle.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/DefaultExceptionHandle.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/DefaultExceptionHandle.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/DefaultExceptionHandle.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/EventMulticaster.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/EventMulticaster.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/EventMulticaster.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/EventMulticaster.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionHandle.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionHandle.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionHandle.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionHandle.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionLoggingHandle.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionLoggingHandle.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionLoggingHandle.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/ExceptionLoggingHandle.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/RethrowExceptionHandler.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/RethrowExceptionHandler.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/RethrowExceptionHandler.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/event/RethrowExceptionHandler.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/Hashing.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/Hashing.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/Hashing.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/Hashing.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/MurmurHash3.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/MurmurHash3.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/MurmurHash3.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/hash/MurmurHash3.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGenerator.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGenerator.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGenerator.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGenerator.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGeneratorFactory.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGeneratorFactory.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGeneratorFactory.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/id/KeyGeneratorFactory.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ByteArray.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ByteArray.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ByteArray.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ByteArray.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesBlob.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesBlob.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesBlob.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesBlob.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkReader.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkReader.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkReader.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkReader.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkWriter.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkWriter.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkWriter.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesChunkWriter.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesDeserializable.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesDeserializable.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesDeserializable.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesDeserializable.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoder.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoder.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoder.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoder.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoding.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoding.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoding.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesEncoding.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesInputStream.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesInputStream.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesInputStream.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesInputStream.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesMap.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesMap.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesMap.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesMap.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesOutputBuffer.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesOutputBuffer.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesOutputBuffer.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesOutputBuffer.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesReader.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesReader.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesReader.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesReader.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSerializable.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSerializable.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSerializable.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSerializable.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlice.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlice.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlice.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlice.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSliceArrayWrapper.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSliceArrayWrapper.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSliceArrayWrapper.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSliceArrayWrapper.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlices.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlices.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlices.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesSlices.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesWriter.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesWriter.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesWriter.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/BytesWriter.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/DynamicBytesSliceArray.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/DynamicBytesSliceArray.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/DynamicBytesSliceArray.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/DynamicBytesSliceArray.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/EmptyInputStream.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/EmptyInputStream.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/EmptyInputStream.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/EmptyInputStream.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FileUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FileUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FileUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FileUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FixedBytesSliceArray.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FixedBytesSliceArray.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FixedBytesSliceArray.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/FixedBytesSliceArray.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ForwardReadonlyInputStream.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ForwardReadonlyInputStream.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ForwardReadonlyInputStream.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/ForwardReadonlyInputStream.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/NumberMask.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/NumberMask.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/NumberMask.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/NumberMask.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/RuntimeIOException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/RuntimeIOException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/RuntimeIOException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/RuntimeIOException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/SingleBytesSliceArray.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/SingleBytesSliceArray.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/SingleBytesSliceArray.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/SingleBytesSliceArray.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/UnclosableOutputStream.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/UnclosableOutputStream.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/UnclosableOutputStream.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/io/UnclosableOutputStream.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkAddress.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkAddress.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkAddress.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkAddress.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/net/NetworkException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AESUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AESUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AESUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AESUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AuthenticationException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AuthenticationException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AuthenticationException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/AuthenticationException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DESUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DESUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DESUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DESUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DecryptionException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DecryptionException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DecryptionException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/DecryptionException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/Ed25519Utils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/Ed25519Utils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/Ed25519Utils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/Ed25519Utils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/EncryptionException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/EncryptionException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/EncryptionException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/EncryptionException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyGenerationException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyGenerationException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyGenerationException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyGenerationException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreException.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreException.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreException.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreException.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/KeyStoreUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAKeyPair.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAKeyPair.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAKeyPair.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAKeyPair.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RSAUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RandomUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RandomUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RandomUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RandomUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RipeMD160Utils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RipeMD160Utils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RipeMD160Utils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/RipeMD160Utils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/SHA256Hash.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/SHA256Hash.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/SHA256Hash.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/SHA256Hash.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/ShaUtils.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/ShaUtils.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/ShaUtils.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/security/ShaUtils.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/AsyncSendable.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/AsyncSendable.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/AsyncSendable.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/AsyncSendable.java
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/Sendable.java b/framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/Sendable.java
similarity index 100%
rename from source/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/Sendable.java
rename to framework/utils/utils-common/src/main/java/com/jd/blockchain/utils/transfer/Sendable.java
diff --git a/source/utils/utils-common/src/main/resources/complex.jar b/framework/utils/utils-common/src/main/resources/complex.jar
similarity index 100%
rename from source/utils/utils-common/src/main/resources/complex.jar
rename to framework/utils/utils-common/src/main/resources/complex.jar
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/ArgumentSetTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/ArgumentSetTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/ArgumentSetTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/ArgumentSetTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/PropertiesUtilsTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/PropertiesUtilsTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/PropertiesUtilsTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/PropertiesUtilsTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/concurrent/FutureTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/concurrent/FutureTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/concurrent/FutureTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/concurrent/FutureTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/io/BytesEncodingTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/io/BytesEncodingTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/io/BytesEncodingTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/io/BytesEncodingTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/io/BytesTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/io/BytesTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/io/BytesTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/io/BytesTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/io/BytesUtilsTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/io/BytesUtilsTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/io/BytesUtilsTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/io/BytesUtilsTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/security/AESUtilsTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/security/AESUtilsTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/security/AESUtilsTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/security/AESUtilsTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/security/RSAUtilsTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/security/RSAUtilsTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/security/RSAUtilsTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/security/RSAUtilsTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/security/RandomUtilsTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/security/RandomUtilsTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/security/RandomUtilsTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/security/RandomUtilsTest.java
diff --git a/source/utils/utils-common/src/test/java/test/my/utils/security/ShaUtilsTest.java b/framework/utils/utils-common/src/test/java/test/my/utils/security/ShaUtilsTest.java
similarity index 100%
rename from source/utils/utils-common/src/test/java/test/my/utils/security/ShaUtilsTest.java
rename to framework/utils/utils-common/src/test/java/test/my/utils/security/ShaUtilsTest.java
diff --git a/source/utils/utils-common/src/test/resources/complex.jar b/framework/utils/utils-common/src/test/resources/complex.jar
similarity index 100%
rename from source/utils/utils-common/src/test/resources/complex.jar
rename to framework/utils/utils-common/src/test/resources/complex.jar
diff --git a/source/utils/utils-http/.gitignore b/framework/utils/utils-http/.gitignore
similarity index 100%
rename from source/utils/utils-http/.gitignore
rename to framework/utils/utils-http/.gitignore
diff --git a/source/utils/utils-http/pom.xml b/framework/utils/utils-http/pom.xml
similarity index 100%
rename from source/utils/utils-http/pom.xml
rename to framework/utils/utils-http/pom.xml
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpAction.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpAction.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpAction.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpAction.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpMethod.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpMethod.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpMethod.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpMethod.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpService.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpService.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpService.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpService.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceConsts.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceConsts.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceConsts.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceConsts.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceContext.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceContext.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceContext.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceContext.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceException.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceException.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceException.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpServiceException.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpStatusException.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpStatusException.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpStatusException.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/HttpStatusException.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParam.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParam.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParam.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParam.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParamMap.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParamMap.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParamMap.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/NamedParamMap.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PathParam.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PathParam.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PathParam.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PathParam.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PropertiesConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PropertiesConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PropertiesConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/PropertiesConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBody.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBody.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBody.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBody.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParam.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParam.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParam.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParam.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamFilter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamFilter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamFilter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamFilter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamMap.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamMap.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamMap.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/RequestParamMap.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseBodyConverterFactory.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseBodyConverterFactory.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseBodyConverterFactory.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseBodyConverterFactory.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/ResponseConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/StringConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/StringConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/StringConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/StringConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ArgDefEntry.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ArgDefEntry.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ArgDefEntry.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ArgDefEntry.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationAlgs.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationAlgs.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationAlgs.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationAlgs.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeader.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeader.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeader.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeader.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeaderResovler.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeaderResovler.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeaderResovler.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/AuthorizationHeaderResovler.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/CustomHeader.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/CustomHeader.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/CustomHeader.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/CustomHeader.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/DefaultResponseConverterFactory.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/DefaultResponseConverterFactory.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/DefaultResponseConverterFactory.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/DefaultResponseConverterFactory.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpClientPool.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpClientPool.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpClientPool.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpClientPool.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceAgent.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceAgent.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceAgent.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceAgent.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceConnection.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceConnection.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceConnection.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/HttpServiceConnection.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/IllegalHttpServiceDefinitionException.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/IllegalHttpServiceDefinitionException.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/IllegalHttpServiceDefinitionException.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/IllegalHttpServiceDefinitionException.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/LocalHttpDelete.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/LocalHttpDelete.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/LocalHttpDelete.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/LocalHttpDelete.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/NullRequestParamFilter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/NullRequestParamFilter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/NullRequestParamFilter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/NullRequestParamFilter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamDefinition.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamDefinition.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamDefinition.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamDefinition.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolver.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolver.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolver.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolver.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolvers.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolvers.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolvers.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PathParamResolvers.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PojoPropertiesConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PojoPropertiesConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PojoPropertiesConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PojoPropertiesConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PropertiesConverterFactory.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PropertiesConverterFactory.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PropertiesConverterFactory.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/PropertiesConverterFactory.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyDefinition.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyDefinition.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyDefinition.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyDefinition.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolver.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolver.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolver.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolver.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolverComposite.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolverComposite.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolverComposite.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolverComposite.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolvers.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolvers.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolvers.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestBodyResolvers.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestHeader.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestHeader.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestHeader.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestHeader.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamDefinition.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamDefinition.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamDefinition.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamDefinition.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamMapDefinition.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamMapDefinition.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamMapDefinition.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamMapDefinition.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolver.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolver.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolver.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolver.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolvers.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolvers.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolvers.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestParamResolvers.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestPathTemplate.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestPathTemplate.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestPathTemplate.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestPathTemplate.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestUtils.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestUtils.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestUtils.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/RequestUtils.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceActionContext.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceActionContext.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceActionContext.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceActionContext.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnection.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnection.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnection.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnection.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnectionManager.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnectionManager.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnectionManager.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceConnectionManager.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceEndpoint.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceEndpoint.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceEndpoint.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceEndpoint.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceRequest.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceRequest.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceRequest.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/ServiceRequest.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/StringConverterFactory.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/StringConverterFactory.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/StringConverterFactory.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/StringConverterFactory.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/TypeAutoAdaptingRequestBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/TypeAutoAdaptingRequestBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/TypeAutoAdaptingRequestBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/agent/TypeAutoAdaptingRequestBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/auth/Securities.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/auth/Securities.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/auth/Securities.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/auth/Securities.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeRequestBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeRequestBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeRequestBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeRequestBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeResponseConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeResponseConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeResponseConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/BinarySerializeResponseConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayResponseConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayResponseConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayResponseConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ByteArrayResponseConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/EmptyBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/EmptyBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/EmptyBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/EmptyBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/InputStreamBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/InputStreamBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/InputStreamBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/InputStreamBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonResponseConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonResponseConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonResponseConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/JsonResponseConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/NullResponseConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/NullResponseConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/NullResponseConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/NullResponseConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringBodyConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringBodyConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringBodyConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringBodyConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/ObjectToStringConverter.java
diff --git a/source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/StringResponseConverter.java b/framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/StringResponseConverter.java
similarity index 100%
rename from source/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/StringResponseConverter.java
rename to framework/utils/utils-http/src/main/java/com/jd/blockchain/utils/http/converters/StringResponseConverter.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/BaseRequestSetting.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/BaseRequestSetting.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/BaseRequestSetting.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/BaseRequestSetting.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/ContentRequestSetting.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/ContentRequestSetting.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/ContentRequestSetting.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/ContentRequestSetting.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/CustomBooleanConverter.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/CustomBooleanConverter.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/CustomBooleanConverter.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/CustomBooleanConverter.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/DataResponse.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/DataResponse.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/DataResponse.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/DataResponse.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentException.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentException.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentException.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentException.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverter.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverter.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverter.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverter.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverterWithException.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverterWithException.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverterWithException.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/GetContentResponseConverterWithException.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestCollector.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestCollector.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestCollector.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestCollector.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestInfo.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestInfo.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestInfo.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpRequestInfo.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpServiceAgentTest.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpServiceAgentTest.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpServiceAgentTest.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpServiceAgentTest.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpTestService.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpTestService.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpTestService.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/HttpTestService.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/MultiRequestBodiesWithDefaultConverterTestService.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/MultiRequestBodiesWithDefaultConverterTestService.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/MultiRequestBodiesWithDefaultConverterTestService.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/MultiRequestBodiesWithDefaultConverterTestService.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/OpType.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/OpType.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/OpType.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/OpType.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/RequestContent.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/RequestContent.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/RequestContent.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/RequestContent.java
diff --git a/source/utils/utils-http/src/test/java/test/my/utils/http/agent/TestData.java b/framework/utils/utils-http/src/test/java/test/my/utils/http/agent/TestData.java
similarity index 100%
rename from source/utils/utils-http/src/test/java/test/my/utils/http/agent/TestData.java
rename to framework/utils/utils-http/src/test/java/test/my/utils/http/agent/TestData.java
diff --git a/source/utils/utils-serialize/pom.xml b/framework/utils/utils-serialize/pom.xml
similarity index 100%
rename from source/utils/utils-serialize/pom.xml
rename to framework/utils/utils-serialize/pom.xml
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/BinarySerializeUtils.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/BinarySerializeUtils.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/BinarySerializeUtils.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/BinarySerializeUtils.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/FilteredObjectInputStream.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/FilteredObjectInputStream.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/FilteredObjectInputStream.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/binary/FilteredObjectInputStream.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ArrayMergeStrategy.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ArrayMergeStrategy.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ArrayMergeStrategy.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ArrayMergeStrategy.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/GenericType.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/GenericType.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/GenericType.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/GenericType.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBean.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBean.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBean.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBean.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanDeserializer.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanDeserializer.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanDeserializer.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanDeserializer.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanSerializer.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanSerializer.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanSerializer.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONBeanSerializer.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONSerializeUtils.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONSerializeUtils.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONSerializeUtils.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONSerializeUtils.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONString.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONString.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONString.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONString.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringDeserializer.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringDeserializer.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringDeserializer.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringDeserializer.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringSerializer.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringSerializer.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringSerializer.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/JSONStringSerializer.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/RuntimeDeserializer.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/RuntimeDeserializer.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/RuntimeDeserializer.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/RuntimeDeserializer.java
diff --git a/source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ToStringSerializer.java b/framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ToStringSerializer.java
similarity index 100%
rename from source/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ToStringSerializer.java
rename to framework/utils/utils-serialize/src/main/java/com/jd/blockchain/utils/serialize/json/ToStringSerializer.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/BinarySerializeUtilsTest.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/BinarySerializeUtilsTest.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/BinarySerializeUtilsTest.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/BinarySerializeUtilsTest.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Car.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Car.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Car.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Car.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Entity.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Entity.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Entity.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Entity.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/ICar.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/ICar.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/ICar.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/ICar.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONBeanTest.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONBeanTest.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONBeanTest.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONBeanTest.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONSerializeUtilsTest.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONSerializeUtilsTest.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONSerializeUtilsTest.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/JSONSerializeUtilsTest.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Level.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Level.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Level.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Level.java
diff --git a/source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Wheel.java b/framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Wheel.java
similarity index 100%
rename from source/utils/utils-serialize/src/test/java/test/my/utils/serialize/Wheel.java
rename to framework/utils/utils-serialize/src/test/java/test/my/utils/serialize/Wheel.java
diff --git a/source/utils/utils-test/.gitignore b/framework/utils/utils-test/.gitignore
similarity index 100%
rename from source/utils/utils-test/.gitignore
rename to framework/utils/utils-test/.gitignore
diff --git a/source/utils/utils-test/pom.xml b/framework/utils/utils-test/pom.xml
similarity index 100%
rename from source/utils/utils-test/pom.xml
rename to framework/utils/utils-test/pom.xml
diff --git a/source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/JunitAssertMatcher.java b/framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/JunitAssertMatcher.java
similarity index 100%
rename from source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/JunitAssertMatcher.java
rename to framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/JunitAssertMatcher.java
diff --git a/source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/ServletRegister.java b/framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/ServletRegister.java
similarity index 100%
rename from source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/ServletRegister.java
rename to framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/ServletRegister.java
diff --git a/source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebBoot.java b/framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebBoot.java
similarity index 100%
rename from source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebBoot.java
rename to framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebBoot.java
diff --git a/source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebTest.java b/framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebTest.java
similarity index 100%
rename from source/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebTest.java
rename to framework/utils/utils-test/src/main/java/com/jd/blockchain/utils/test/WebTest.java
diff --git a/source/utils/utils-web-server/.gitignore b/framework/utils/utils-web-server/.gitignore
similarity index 100%
rename from source/utils/utils-web-server/.gitignore
rename to framework/utils/utils-web-server/.gitignore
diff --git a/source/utils/utils-web-server/pom.xml b/framework/utils/utils-web-server/pom.xml
similarity index 100%
rename from source/utils/utils-web-server/pom.xml
rename to framework/utils/utils-web-server/pom.xml
diff --git a/source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/ServletSetting.java b/framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/ServletSetting.java
similarity index 100%
rename from source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/ServletSetting.java
rename to framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/ServletSetting.java
diff --git a/source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServer.java b/framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServer.java
similarity index 100%
rename from source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServer.java
rename to framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServer.java
diff --git a/source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerDemo.java b/framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerDemo.java
similarity index 100%
rename from source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerDemo.java
rename to framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerDemo.java
diff --git a/source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerException.java b/framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerException.java
similarity index 100%
rename from source/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerException.java
rename to framework/utils/utils-web-server/src/main/java/com/jd/blockchain/utils/web/server/WebServerException.java
diff --git a/source/utils/utils-web/.gitignore b/framework/utils/utils-web/.gitignore
similarity index 100%
rename from source/utils/utils-web/.gitignore
rename to framework/utils/utils-web/.gitignore
diff --git a/source/utils/utils-web/pom.xml b/framework/utils/utils-web/pom.xml
similarity index 100%
rename from source/utils/utils-web/pom.xml
rename to framework/utils/utils-web/pom.xml
diff --git a/source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverter.java b/framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverter.java
similarity index 100%
rename from source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverter.java
rename to framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverter.java
diff --git a/source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverterFactory.java b/framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverterFactory.java
similarity index 100%
rename from source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverterFactory.java
rename to framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebResponseConverterFactory.java
diff --git a/source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebServiceException.java b/framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebServiceException.java
similarity index 100%
rename from source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebServiceException.java
rename to framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/client/WebServiceException.java
diff --git a/source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/BinaryMessageConverter.java b/framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/BinaryMessageConverter.java
similarity index 100%
rename from source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/BinaryMessageConverter.java
rename to framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/BinaryMessageConverter.java
diff --git a/source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/ErrorCode.java b/framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/ErrorCode.java
similarity index 100%
rename from source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/ErrorCode.java
rename to framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/ErrorCode.java
diff --git a/source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/JsonWebResponseMessageConverter.java b/framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/JsonWebResponseMessageConverter.java
similarity index 100%
rename from source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/JsonWebResponseMessageConverter.java
rename to framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/JsonWebResponseMessageConverter.java
diff --git a/source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/WebResponse.java b/framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/WebResponse.java
similarity index 100%
rename from source/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/WebResponse.java
rename to framework/utils/utils-web/src/main/java/com/jd/blockchain/utils/web/model/WebResponse.java
diff --git a/source/pom.xml b/pom.xml
similarity index 100%
rename from source/pom.xml
rename to pom.xml
diff --git a/source/sdk/sdk-samples/pom.xml b/samples/sdk-samples/pom.xml
similarity index 100%
rename from source/sdk/sdk-samples/pom.xml
rename to samples/sdk-samples/pom.xml
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/ContractConfigure.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/contract/ContractConfigure.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/ContractConfigure.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/contract/ContractConfigure.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract2.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract2.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract2.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract2.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_ConfigureSecurity.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_ConfigureSecurity.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_ConfigureSecurity.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_ConfigureSecurity.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Constant.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_DataAccount.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_DataAccount.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_DataAccount.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_DataAccount.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_EventListener.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_EventListener.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_EventListener.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_EventListener.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_InsertData.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_InsertData.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_InsertData.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_InsertData.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Params.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Params.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Params.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Params.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_PrivilegeSetting.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_PrivilegeSetting.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_PrivilegeSetting.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_PrivilegeSetting.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Query.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Query.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Query.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Query.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterAccount.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterAccount.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterAccount.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterAccount.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterTest.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterTest.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterTest.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterTest.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterUser.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterUser.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterUser.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_RegisterUser.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_User.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_User.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_User.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_User.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Base_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Base_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Base_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Base_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Check_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Check_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Check_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Check_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Random_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Random_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Random_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Contract_Random_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_DataAccount_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_InsertData_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_InsertData_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_InsertData_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_InsertData_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_RoleConfig_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Threads_KvInsert_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Threads_KvInsert_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Threads_KvInsert_Demo.java
rename to samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_Threads_KvInsert_Demo.java
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_User2Role_Demo.java b/samples/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_User2Role_Demo.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDK_User2Role_Demo.java
rename to samples/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/chain/contracts/ContractTestInf.java b/samples/sdk-samples/src/main/java/com/jd/chain/contracts/ContractTestInf.java
similarity index 100%
rename from source/sdk/sdk-samples/src/main/java/com/jd/chain/contracts/ContractTestInf.java
rename to samples/sdk-samples/src/main/java/com/jd/chain/contracts/ContractTestInf.java
diff --git a/source/sdk/sdk-samples/src/main/resources/contract-jdchain.jar b/samples/sdk-samples/src/main/resources/contract-jdchain.jar
similarity index 100%
rename from source/sdk/sdk-samples/src/main/resources/contract-jdchain.jar
rename to samples/sdk-samples/src/main/resources/contract-jdchain.jar
diff --git a/source/sdk/sdk-samples/src/main/resources/transfer.jar b/samples/sdk-samples/src/main/resources/transfer.jar
similarity index 100%
rename from source/sdk/sdk-samples/src/main/resources/transfer.jar
rename to samples/sdk-samples/src/main/resources/transfer.jar
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDKDemo_Contract_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDKDemo_Contract_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDKDemo_Contract_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDKDemo_Contract_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_Contract_Test.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_Contract_Test.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_Contract_Test.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_Contract_Test.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_KeyPair_Para.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_KeyPair_Para.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_KeyPair_Para.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_KeyPair_Para.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_Regist_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_Regist_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_Regist_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_Regist_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_State_Update_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_State_Update_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_State_Update_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Participant_State_Update_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java b/samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java
similarity index 100%
rename from source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java
rename to samples/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java
diff --git a/source/sdk/sdk-samples/src/test/resources/contract.jar b/samples/sdk-samples/src/test/resources/contract.jar
similarity index 100%
rename from source/sdk/sdk-samples/src/test/resources/contract.jar
rename to samples/sdk-samples/src/test/resources/contract.jar
diff --git a/source/sdk/sdk-samples/src/test/resources/sys-contract.properties b/samples/sdk-samples/src/test/resources/sys-contract.properties
similarity index 100%
rename from source/sdk/sdk-samples/src/test/resources/sys-contract.properties
rename to samples/sdk-samples/src/test/resources/sys-contract.properties
diff --git a/source/sdk/sdk-samples/src/test/resources/transfer.jar b/samples/sdk-samples/src/test/resources/transfer.jar
similarity index 100%
rename from source/sdk/sdk-samples/src/test/resources/transfer.jar
rename to samples/sdk-samples/src/test/resources/transfer.jar
diff --git a/tools/compile-latest.sh b/scripts/compile-latest.sh
similarity index 100%
rename from tools/compile-latest.sh
rename to scripts/compile-latest.sh
diff --git a/tools/start.sh b/scripts/start.sh
similarity index 100%
rename from tools/start.sh
rename to scripts/start.sh
diff --git a/tools/stop.sh b/scripts/stop.sh
similarity index 100%
rename from tools/stop.sh
rename to scripts/stop.sh
diff --git a/tools/sync-to-all.sh b/scripts/sync-to-all.sh
similarity index 100%
rename from tools/sync-to-all.sh
rename to scripts/sync-to-all.sh
diff --git a/tools/sync-to-remote.sh b/scripts/sync-to-remote.sh
similarity index 100%
rename from tools/sync-to-remote.sh
rename to scripts/sync-to-remote.sh
diff --git a/source/contract/contract-maven-plugin/src/test/resources/project-to-test/target/contract.jar b/source/contract/contract-maven-plugin/src/test/resources/project-to-test/target/contract.jar
deleted file mode 100644
index 8e693437..00000000
Binary files a/source/contract/contract-maven-plugin/src/test/resources/project-to-test/target/contract.jar and /dev/null differ
diff --git a/source/tools/tools-joiner/src/test/java/com/jd/blockchain/AppTest.java b/source/tools/tools-joiner/src/test/java/com/jd/blockchain/AppTest.java
deleted file mode 100644
index 941b907f..00000000
--- a/source/tools/tools-joiner/src/test/java/com/jd/blockchain/AppTest.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.jd.blockchain;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/**
- * Unit test for simple App.
- */
-public class AppTest
-{
- /**
- * Rigorous Test :-)
- */
- @Test
- public void shouldAnswerWithTrue()
- {
- assertTrue( true );
- }
-}
diff --git a/source/test/pom.xml b/test/pom.xml
similarity index 100%
rename from source/test/pom.xml
rename to test/pom.xml
diff --git a/source/test/test-consensus-node/.gitignore b/test/test-consensus-client/.gitignore
similarity index 100%
rename from source/test/test-consensus-node/.gitignore
rename to test/test-consensus-client/.gitignore
diff --git a/source/test/test-consensus-client/pom.xml b/test/test-consensus-client/pom.xml
similarity index 100%
rename from source/test/test-consensus-client/pom.xml
rename to test/test-consensus-client/pom.xml
diff --git a/source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/ConsensusSettingService.java b/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/ConsensusSettingService.java
similarity index 100%
rename from source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/ConsensusSettingService.java
rename to test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/ConsensusSettingService.java
diff --git a/source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/Settings.java b/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/Settings.java
similarity index 100%
rename from source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/Settings.java
rename to test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/Settings.java
diff --git a/source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebBooter.java b/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebBooter.java
similarity index 100%
rename from source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebBooter.java
rename to test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebBooter.java
diff --git a/source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebClient.java b/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebClient.java
similarity index 100%
rename from source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebClient.java
rename to test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebClient.java
diff --git a/source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebConfiguration.java b/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebConfiguration.java
similarity index 100%
rename from source/test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebConfiguration.java
rename to test/test-consensus-client/src/main/java/test/perf/com/jd/blockchain/consensus/client/WebConfiguration.java
diff --git a/source/test/test-consensus-client/src/main/resources/application.properties b/test/test-consensus-client/src/main/resources/application.properties
similarity index 100%
rename from source/test/test-consensus-client/src/main/resources/application.properties
rename to test/test-consensus-client/src/main/resources/application.properties
diff --git a/source/tools/tools-initializer/.gitignore b/test/test-consensus-node/.gitignore
similarity index 100%
rename from source/tools/tools-initializer/.gitignore
rename to test/test-consensus-node/.gitignore
diff --git a/source/test/test-consensus-node/config/bft-system.config b/test/test-consensus-node/config/bft-system.config
similarity index 100%
rename from source/test/test-consensus-node/config/bft-system.config
rename to test/test-consensus-node/config/bft-system.config
diff --git a/source/test/test-consensus-node/config/hosts.config b/test/test-consensus-node/config/hosts.config
similarity index 100%
rename from source/test/test-consensus-node/config/hosts.config
rename to test/test-consensus-node/config/hosts.config
diff --git a/source/test/test-integration/src/test/resources/system.config b/test/test-consensus-node/config/system.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/system.config
rename to test/test-consensus-node/config/system.config
diff --git a/source/test/test-consensus-node/pom.xml b/test/test-consensus-node/pom.xml
similarity index 100%
rename from source/test/test-consensus-node/pom.xml
rename to test/test-consensus-node/pom.xml
diff --git a/source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/ConsensusTester.java b/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/ConsensusTester.java
similarity index 100%
rename from source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/ConsensusTester.java
rename to test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/ConsensusTester.java
diff --git a/source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/Settings.java b/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/Settings.java
similarity index 100%
rename from source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/Settings.java
rename to test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/Settings.java
diff --git a/source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestReplica.java b/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestReplica.java
similarity index 100%
rename from source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestReplica.java
rename to test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestReplica.java
diff --git a/source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestWebController.java b/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestWebController.java
similarity index 100%
rename from source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestWebController.java
rename to test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/TestWebController.java
diff --git a/source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebBooter.java b/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebBooter.java
similarity index 100%
rename from source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebBooter.java
rename to test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebBooter.java
diff --git a/source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebConfiguration.java b/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebConfiguration.java
similarity index 100%
rename from source/test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebConfiguration.java
rename to test/test-consensus-node/src/main/java/test/perf/com/jd/blockchain/consensus/node/WebConfiguration.java
diff --git a/source/test/test-consensus-node/src/main/resources/application.properties b/test/test-consensus-node/src/main/resources/application.properties
similarity index 100%
rename from source/test/test-consensus-node/src/main/resources/application.properties
rename to test/test-consensus-node/src/main/resources/application.properties
diff --git a/source/test/test-consensus-node/src/main/resources/system.config b/test/test-consensus-node/src/main/resources/system.config
similarity index 100%
rename from source/test/test-consensus-node/src/main/resources/system.config
rename to test/test-consensus-node/src/main/resources/system.config
diff --git a/source/test/test-contract/pom.xml b/test/test-contract/pom.xml
similarity index 100%
rename from source/test/test-contract/pom.xml
rename to test/test-contract/pom.xml
diff --git a/source/test/test-contract/src/test/java/test/com/jd/blockchain/contract/ContractTransactionRollbackTest.java b/test/test-contract/src/test/java/test/com/jd/blockchain/contract/ContractTransactionRollbackTest.java
similarity index 100%
rename from source/test/test-contract/src/test/java/test/com/jd/blockchain/contract/ContractTransactionRollbackTest.java
rename to test/test-contract/src/test/java/test/com/jd/blockchain/contract/ContractTransactionRollbackTest.java
diff --git a/source/test/test-integration/pom.xml b/test/test-integration/pom.xml
similarity index 100%
rename from source/test/test-integration/pom.xml
rename to test/test-integration/pom.xml
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/GatewayTestRunner.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/GatewayTestRunner.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/GatewayTestRunner.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/GatewayTestRunner.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegratedContext.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegratedContext.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegratedContext.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegratedContext.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegrationTest.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegrationTest.java
similarity index 98%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegrationTest.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegrationTest.java
index 0ffcbb3e..05824443 100644
--- a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegrationTest.java
+++ b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/IntegrationTest.java
@@ -13,6 +13,8 @@ import org.springframework.core.io.ClassPathResource;
import com.jd.blockchain.consensus.ConsensusProvider;
import com.jd.blockchain.consensus.ConsensusProviders;
import com.jd.blockchain.consensus.ConsensusSettings;
+import com.jd.blockchain.consensus.bftsmart.BftsmartConsensusProvider;
+import com.jd.blockchain.consensus.service.NodeServerFactory;
import com.jd.blockchain.crypto.AddressEncoding;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.crypto.Crypto;
@@ -26,7 +28,6 @@ import com.jd.blockchain.ledger.BlockchainKeyGenerator;
import com.jd.blockchain.ledger.BlockchainKeypair;
import com.jd.blockchain.ledger.BytesValue;
import com.jd.blockchain.ledger.DataAccountKVSetOperation;
-import com.jd.blockchain.ledger.TypedKVEntry;
import com.jd.blockchain.ledger.LedgerBlock;
import com.jd.blockchain.ledger.LedgerInfo;
import com.jd.blockchain.ledger.LedgerInitProperties;
@@ -34,6 +35,7 @@ import com.jd.blockchain.ledger.ParticipantNode;
import com.jd.blockchain.ledger.PreparedTransaction;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionTemplate;
+import com.jd.blockchain.ledger.TypedKVEntry;
import com.jd.blockchain.ledger.UserInfo;
import com.jd.blockchain.ledger.core.DataAccountQuery;
import com.jd.blockchain.ledger.core.LedgerManage;
@@ -87,6 +89,9 @@ public class IntegrationTest {
Node node1 = context.getNode(1);
Node node2 = context.getNode(2);
Node node3 = context.getNode(3);
+
+ BftsmartConsensusProvider csProvider0 = new BftsmartConsensusProvider();
+ NodeServerFactory mockedNodeServerFactory0 = Mockito.spy(csProvider0.getServerFactory());
NetworkAddress peerSrvAddr0 = new NetworkAddress("127.0.0.1", 10200);
PeerTestRunner peer0 = new PeerTestRunner(peerSrvAddr0, node0.getBindingConfig(), node0.getStorageDB());
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/LedgerInitConsensusConfig.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/LedgerInitConsensusConfig.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/LedgerInitConsensusConfig.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/LedgerInitConsensusConfig.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PeerTestRunner.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PeerTestRunner.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PeerTestRunner.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PeerTestRunner.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PresetAnswerPrompter.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PresetAnswerPrompter.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PresetAnswerPrompter.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/PresetAnswerPrompter.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/consensus/ConsensusTest.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/consensus/ConsensusTest.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/consensus/ConsensusTest.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/consensus/ConsensusTest.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/DBType.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/DBType.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/DBType.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/DBType.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/GlobalPerformanceTest.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/GlobalPerformanceTest.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/GlobalPerformanceTest.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/GlobalPerformanceTest.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitTestConfiguration.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitTestConfiguration.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitTestConfiguration.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitTestConfiguration.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitWebTestConfiguration.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitWebTestConfiguration.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitWebTestConfiguration.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitWebTestConfiguration.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeTest.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeTest.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeTest.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeTest.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/PerformanceTest.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/PerformanceTest.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/PerformanceTest.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/PerformanceTest.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/TransactionCommitter.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/TransactionCommitter.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/TransactionCommitter.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/TransactionCommitter.java
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/Utils.java b/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/Utils.java
similarity index 100%
rename from source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/Utils.java
rename to test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/Utils.java
diff --git a/source/test/test-integration/src/main/resources/Performance.contract b/test/test-integration/src/main/resources/Performance.contract
similarity index 100%
rename from source/test/test-integration/src/main/resources/Performance.contract
rename to test/test-integration/src/main/resources/Performance.contract
diff --git a/source/test/test-integration/src/main/resources/bftsmart.config b/test/test-integration/src/main/resources/bftsmart.config
similarity index 100%
rename from source/test/test-integration/src/main/resources/bftsmart.config
rename to test/test-integration/src/main/resources/bftsmart.config
diff --git a/source/test/test-integration/src/main/resources/example1.jar b/test/test-integration/src/main/resources/example1.jar
similarity index 100%
rename from source/test/test-integration/src/main/resources/example1.jar
rename to test/test-integration/src/main/resources/example1.jar
diff --git a/source/test/test-integration/src/main/resources/ledger_init_test.init b/test/test-integration/src/main/resources/ledger_init_test.init
similarity index 100%
rename from source/test/test-integration/src/main/resources/ledger_init_test.init
rename to test/test-integration/src/main/resources/ledger_init_test.init
diff --git a/source/test/test-integration/src/main/resources/ledger_init_test_integration.init b/test/test-integration/src/main/resources/ledger_init_test_integration.init
similarity index 100%
rename from source/test/test-integration/src/main/resources/ledger_init_test_integration.init
rename to test/test-integration/src/main/resources/ledger_init_test_integration.init
diff --git a/source/test/test-integration/src/main/resources/ledger_init_test_web2.init b/test/test-integration/src/main/resources/ledger_init_test_web2.init
similarity index 100%
rename from source/test/test-integration/src/main/resources/ledger_init_test_web2.init
rename to test/test-integration/src/main/resources/ledger_init_test_web2.init
diff --git a/source/test/test-integration/src/main/resources/mq.config b/test/test-integration/src/main/resources/mq.config
similarity index 100%
rename from source/test/test-integration/src/main/resources/mq.config
rename to test/test-integration/src/main/resources/mq.config
diff --git a/source/test/test-integration/src/main/resources/system.config b/test/test-integration/src/main/resources/system.config
similarity index 100%
rename from source/test/test-integration/src/main/resources/system.config
rename to test/test-integration/src/main/resources/system.config
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBase.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBase.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBase.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBase.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBaseTest.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBaseTest.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBaseTest.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationBaseTest.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest2.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest2.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest2.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest2.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Bftsmart.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Bftsmart.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Bftsmart.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Bftsmart.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Contract.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Contract.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Contract.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4Contract.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4MQ.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4MQ.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4MQ.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTest4MQ.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestAll4Redis.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestAll4Redis.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestAll4Redis.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestAll4Redis.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestDataAccount.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestDataAccount.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestDataAccount.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/IntegrationTestDataAccount.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartConfig.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartConfig.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartConfig.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartConfig.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartLedgerInit.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartLedgerInit.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartLedgerInit.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartLedgerInit.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartTestBase.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartTestBase.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartTestBase.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/batch/bftsmart/BftsmartTestBase.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/capability/LedgerPerfCapabilityTest.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/capability/LedgerPerfCapabilityTest.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/capability/LedgerPerfCapabilityTest.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/capability/LedgerPerfCapabilityTest.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContract.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContract.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContract.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContract.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContractImpl.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContractImpl.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContractImpl.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/AssetContractImpl.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/ContractInvocationTest.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/ContractInvocationTest.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/ContractInvocationTest.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/contract/ContractInvocationTest.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitWebTestConfiguration.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitWebTestConfiguration.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitWebTestConfiguration.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitWebTestConfiguration.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeTest.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeTest.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeTest.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeTest.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4Nodes.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4Nodes.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4Nodes.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4Nodes.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java b/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java
similarity index 100%
rename from source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java
rename to test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java
diff --git a/source/test/test-integration/src/test/resources/Example1.jar b/test/test-integration/src/test/resources/Example1.jar
similarity index 100%
rename from source/test/test-integration/src/test/resources/Example1.jar
rename to test/test-integration/src/test/resources/Example1.jar
diff --git a/source/test/test-integration/src/test/resources/bftsmart.config b/test/test-integration/src/test/resources/bftsmart.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart.config
rename to test/test-integration/src/test/resources/bftsmart.config
diff --git a/source/test/test-integration/src/test/resources/bftsmart/bftsmart-16.config b/test/test-integration/src/test/resources/bftsmart/bftsmart-16.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/bftsmart-16.config
rename to test/test-integration/src/test/resources/bftsmart/bftsmart-16.config
diff --git a/source/test/test-integration/src/test/resources/bftsmart/bftsmart-32.config b/test/test-integration/src/test/resources/bftsmart/bftsmart-32.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/bftsmart-32.config
rename to test/test-integration/src/test/resources/bftsmart/bftsmart-32.config
diff --git a/source/test/test-integration/src/test/resources/bftsmart/bftsmart-4.config b/test/test-integration/src/test/resources/bftsmart/bftsmart-4.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/bftsmart-4.config
rename to test/test-integration/src/test/resources/bftsmart/bftsmart-4.config
diff --git a/source/test/test-integration/src/test/resources/bftsmart/bftsmart-64.config b/test/test-integration/src/test/resources/bftsmart/bftsmart-64.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/bftsmart-64.config
rename to test/test-integration/src/test/resources/bftsmart/bftsmart-64.config
diff --git a/source/test/test-integration/src/test/resources/bftsmart/bftsmart-8.config b/test/test-integration/src/test/resources/bftsmart/bftsmart-8.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/bftsmart-8.config
rename to test/test-integration/src/test/resources/bftsmart/bftsmart-8.config
diff --git a/source/test/test-integration/src/test/resources/bftsmart/bftsmart-users.conf b/test/test-integration/src/test/resources/bftsmart/bftsmart-users.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/bftsmart-users.conf
rename to test/test-integration/src/test/resources/bftsmart/bftsmart-users.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/0/local-bftsmart-0.conf b/test/test-integration/src/test/resources/bftsmart/conf/0/local-bftsmart-0.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/0/local-bftsmart-0.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/0/local-bftsmart-0.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/1/local-bftsmart-1.conf b/test/test-integration/src/test/resources/bftsmart/conf/1/local-bftsmart-1.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/1/local-bftsmart-1.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/1/local-bftsmart-1.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/10/local-bftsmart-10.conf b/test/test-integration/src/test/resources/bftsmart/conf/10/local-bftsmart-10.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/10/local-bftsmart-10.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/10/local-bftsmart-10.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/11/local-bftsmart-11.conf b/test/test-integration/src/test/resources/bftsmart/conf/11/local-bftsmart-11.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/11/local-bftsmart-11.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/11/local-bftsmart-11.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/12/local-bftsmart-12.conf b/test/test-integration/src/test/resources/bftsmart/conf/12/local-bftsmart-12.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/12/local-bftsmart-12.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/12/local-bftsmart-12.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/13/local-bftsmart-13.conf b/test/test-integration/src/test/resources/bftsmart/conf/13/local-bftsmart-13.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/13/local-bftsmart-13.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/13/local-bftsmart-13.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/14/local-bftsmart-14.conf b/test/test-integration/src/test/resources/bftsmart/conf/14/local-bftsmart-14.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/14/local-bftsmart-14.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/14/local-bftsmart-14.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/15/local-bftsmart-15.conf b/test/test-integration/src/test/resources/bftsmart/conf/15/local-bftsmart-15.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/15/local-bftsmart-15.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/15/local-bftsmart-15.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/16/local-bftsmart-16.conf b/test/test-integration/src/test/resources/bftsmart/conf/16/local-bftsmart-16.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/16/local-bftsmart-16.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/16/local-bftsmart-16.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/17/local-bftsmart-17.conf b/test/test-integration/src/test/resources/bftsmart/conf/17/local-bftsmart-17.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/17/local-bftsmart-17.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/17/local-bftsmart-17.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/18/local-bftsmart-18.conf b/test/test-integration/src/test/resources/bftsmart/conf/18/local-bftsmart-18.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/18/local-bftsmart-18.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/18/local-bftsmart-18.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/19/local-bftsmart-19.conf b/test/test-integration/src/test/resources/bftsmart/conf/19/local-bftsmart-19.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/19/local-bftsmart-19.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/19/local-bftsmart-19.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/2/local-bftsmart-2.conf b/test/test-integration/src/test/resources/bftsmart/conf/2/local-bftsmart-2.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/2/local-bftsmart-2.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/2/local-bftsmart-2.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/20/local-bftsmart-20.conf b/test/test-integration/src/test/resources/bftsmart/conf/20/local-bftsmart-20.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/20/local-bftsmart-20.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/20/local-bftsmart-20.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/21/local-bftsmart-21.conf b/test/test-integration/src/test/resources/bftsmart/conf/21/local-bftsmart-21.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/21/local-bftsmart-21.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/21/local-bftsmart-21.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/22/local-bftsmart-22.conf b/test/test-integration/src/test/resources/bftsmart/conf/22/local-bftsmart-22.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/22/local-bftsmart-22.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/22/local-bftsmart-22.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/23/local-bftsmart-23.conf b/test/test-integration/src/test/resources/bftsmart/conf/23/local-bftsmart-23.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/23/local-bftsmart-23.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/23/local-bftsmart-23.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/24/local-bftsmart-24.conf b/test/test-integration/src/test/resources/bftsmart/conf/24/local-bftsmart-24.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/24/local-bftsmart-24.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/24/local-bftsmart-24.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/25/local-bftsmart-25.conf b/test/test-integration/src/test/resources/bftsmart/conf/25/local-bftsmart-25.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/25/local-bftsmart-25.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/25/local-bftsmart-25.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/26/local-bftsmart-26.conf b/test/test-integration/src/test/resources/bftsmart/conf/26/local-bftsmart-26.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/26/local-bftsmart-26.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/26/local-bftsmart-26.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/27/local-bftsmart-27.conf b/test/test-integration/src/test/resources/bftsmart/conf/27/local-bftsmart-27.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/27/local-bftsmart-27.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/27/local-bftsmart-27.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/28/local-bftsmart-28.conf b/test/test-integration/src/test/resources/bftsmart/conf/28/local-bftsmart-28.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/28/local-bftsmart-28.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/28/local-bftsmart-28.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/29/local-bftsmart-29.conf b/test/test-integration/src/test/resources/bftsmart/conf/29/local-bftsmart-29.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/29/local-bftsmart-29.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/29/local-bftsmart-29.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/3/local-bftsmart-3.conf b/test/test-integration/src/test/resources/bftsmart/conf/3/local-bftsmart-3.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/3/local-bftsmart-3.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/3/local-bftsmart-3.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/30/local-bftsmart-30.conf b/test/test-integration/src/test/resources/bftsmart/conf/30/local-bftsmart-30.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/30/local-bftsmart-30.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/30/local-bftsmart-30.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/31/local-bftsmart-31.conf b/test/test-integration/src/test/resources/bftsmart/conf/31/local-bftsmart-31.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/31/local-bftsmart-31.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/31/local-bftsmart-31.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/32/local-bftsmart-32.conf b/test/test-integration/src/test/resources/bftsmart/conf/32/local-bftsmart-32.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/32/local-bftsmart-32.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/32/local-bftsmart-32.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/33/local-bftsmart-33.conf b/test/test-integration/src/test/resources/bftsmart/conf/33/local-bftsmart-33.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/33/local-bftsmart-33.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/33/local-bftsmart-33.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/34/local-bftsmart-34.conf b/test/test-integration/src/test/resources/bftsmart/conf/34/local-bftsmart-34.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/34/local-bftsmart-34.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/34/local-bftsmart-34.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/35/local-bftsmart-35.conf b/test/test-integration/src/test/resources/bftsmart/conf/35/local-bftsmart-35.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/35/local-bftsmart-35.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/35/local-bftsmart-35.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/36/local-bftsmart-36.conf b/test/test-integration/src/test/resources/bftsmart/conf/36/local-bftsmart-36.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/36/local-bftsmart-36.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/36/local-bftsmart-36.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/37/local-bftsmart-37.conf b/test/test-integration/src/test/resources/bftsmart/conf/37/local-bftsmart-37.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/37/local-bftsmart-37.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/37/local-bftsmart-37.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/38/local-bftsmart-38.conf b/test/test-integration/src/test/resources/bftsmart/conf/38/local-bftsmart-38.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/38/local-bftsmart-38.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/38/local-bftsmart-38.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/39/local-bftsmart-39.conf b/test/test-integration/src/test/resources/bftsmart/conf/39/local-bftsmart-39.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/39/local-bftsmart-39.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/39/local-bftsmart-39.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/4/local-bftsmart-4.conf b/test/test-integration/src/test/resources/bftsmart/conf/4/local-bftsmart-4.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/4/local-bftsmart-4.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/4/local-bftsmart-4.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/40/local-bftsmart-40.conf b/test/test-integration/src/test/resources/bftsmart/conf/40/local-bftsmart-40.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/40/local-bftsmart-40.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/40/local-bftsmart-40.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/41/local-bftsmart-41.conf b/test/test-integration/src/test/resources/bftsmart/conf/41/local-bftsmart-41.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/41/local-bftsmart-41.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/41/local-bftsmart-41.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/42/local-bftsmart-42.conf b/test/test-integration/src/test/resources/bftsmart/conf/42/local-bftsmart-42.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/42/local-bftsmart-42.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/42/local-bftsmart-42.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/43/local-bftsmart-43.conf b/test/test-integration/src/test/resources/bftsmart/conf/43/local-bftsmart-43.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/43/local-bftsmart-43.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/43/local-bftsmart-43.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/44/local-bftsmart-44.conf b/test/test-integration/src/test/resources/bftsmart/conf/44/local-bftsmart-44.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/44/local-bftsmart-44.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/44/local-bftsmart-44.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/45/local-bftsmart-45.conf b/test/test-integration/src/test/resources/bftsmart/conf/45/local-bftsmart-45.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/45/local-bftsmart-45.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/45/local-bftsmart-45.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/46/local-bftsmart-46.conf b/test/test-integration/src/test/resources/bftsmart/conf/46/local-bftsmart-46.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/46/local-bftsmart-46.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/46/local-bftsmart-46.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/47/local-bftsmart-47.conf b/test/test-integration/src/test/resources/bftsmart/conf/47/local-bftsmart-47.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/47/local-bftsmart-47.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/47/local-bftsmart-47.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/48/local-bftsmart-48.conf b/test/test-integration/src/test/resources/bftsmart/conf/48/local-bftsmart-48.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/48/local-bftsmart-48.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/48/local-bftsmart-48.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/49/local-bftsmart-49.conf b/test/test-integration/src/test/resources/bftsmart/conf/49/local-bftsmart-49.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/49/local-bftsmart-49.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/49/local-bftsmart-49.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/5/local-bftsmart-5.conf b/test/test-integration/src/test/resources/bftsmart/conf/5/local-bftsmart-5.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/5/local-bftsmart-5.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/5/local-bftsmart-5.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/50/local-bftsmart-50.conf b/test/test-integration/src/test/resources/bftsmart/conf/50/local-bftsmart-50.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/50/local-bftsmart-50.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/50/local-bftsmart-50.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/51/local-bftsmart-51.conf b/test/test-integration/src/test/resources/bftsmart/conf/51/local-bftsmart-51.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/51/local-bftsmart-51.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/51/local-bftsmart-51.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/52/local-bftsmart-52.conf b/test/test-integration/src/test/resources/bftsmart/conf/52/local-bftsmart-52.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/52/local-bftsmart-52.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/52/local-bftsmart-52.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/53/local-bftsmart-53.conf b/test/test-integration/src/test/resources/bftsmart/conf/53/local-bftsmart-53.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/53/local-bftsmart-53.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/53/local-bftsmart-53.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/54/local-bftsmart-54.conf b/test/test-integration/src/test/resources/bftsmart/conf/54/local-bftsmart-54.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/54/local-bftsmart-54.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/54/local-bftsmart-54.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/55/local-bftsmart-55.conf b/test/test-integration/src/test/resources/bftsmart/conf/55/local-bftsmart-55.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/55/local-bftsmart-55.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/55/local-bftsmart-55.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/56/local-bftsmart-56.conf b/test/test-integration/src/test/resources/bftsmart/conf/56/local-bftsmart-56.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/56/local-bftsmart-56.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/56/local-bftsmart-56.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/57/local-bftsmart-57.conf b/test/test-integration/src/test/resources/bftsmart/conf/57/local-bftsmart-57.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/57/local-bftsmart-57.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/57/local-bftsmart-57.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/58/local-bftsmart-58.conf b/test/test-integration/src/test/resources/bftsmart/conf/58/local-bftsmart-58.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/58/local-bftsmart-58.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/58/local-bftsmart-58.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/59/local-bftsmart-59.conf b/test/test-integration/src/test/resources/bftsmart/conf/59/local-bftsmart-59.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/59/local-bftsmart-59.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/59/local-bftsmart-59.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/6/local-bftsmart-6.conf b/test/test-integration/src/test/resources/bftsmart/conf/6/local-bftsmart-6.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/6/local-bftsmart-6.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/6/local-bftsmart-6.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/60/local-bftsmart-60.conf b/test/test-integration/src/test/resources/bftsmart/conf/60/local-bftsmart-60.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/60/local-bftsmart-60.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/60/local-bftsmart-60.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/61/local-bftsmart-61.conf b/test/test-integration/src/test/resources/bftsmart/conf/61/local-bftsmart-61.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/61/local-bftsmart-61.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/61/local-bftsmart-61.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/62/local-bftsmart-62.conf b/test/test-integration/src/test/resources/bftsmart/conf/62/local-bftsmart-62.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/62/local-bftsmart-62.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/62/local-bftsmart-62.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/63/local-bftsmart-63.conf b/test/test-integration/src/test/resources/bftsmart/conf/63/local-bftsmart-63.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/63/local-bftsmart-63.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/63/local-bftsmart-63.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/7/local-bftsmart-7.conf b/test/test-integration/src/test/resources/bftsmart/conf/7/local-bftsmart-7.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/7/local-bftsmart-7.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/7/local-bftsmart-7.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/8/local-bftsmart-8.conf b/test/test-integration/src/test/resources/bftsmart/conf/8/local-bftsmart-8.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/8/local-bftsmart-8.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/8/local-bftsmart-8.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/conf/9/local-bftsmart-9.conf b/test/test-integration/src/test/resources/bftsmart/conf/9/local-bftsmart-9.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/conf/9/local-bftsmart-9.conf
rename to test/test-integration/src/test/resources/bftsmart/conf/9/local-bftsmart-9.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-16.init b/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-16.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-16.init
rename to test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-16.init
diff --git a/source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-32.init b/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-32.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-32.init
rename to test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-32.init
diff --git a/source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-4.init b/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-4.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-4.init
rename to test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-4.init
diff --git a/source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-64.init b/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-64.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-64.init
rename to test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-64.init
diff --git a/source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-8.init b/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-8.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-8.init
rename to test/test-integration/src/test/resources/bftsmart/ledger_init_bftsmart-8.init
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-0.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-0.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-0.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-0.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-1.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-1.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-1.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-1.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-10.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-10.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-10.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-10.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-11.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-11.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-11.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-11.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-12.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-12.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-12.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-12.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-13.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-13.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-13.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-13.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-14.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-14.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-14.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-14.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-15.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-15.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-15.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-15.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-16.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-16.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-16.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-16.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-17.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-17.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-17.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-17.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-18.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-18.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-18.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-18.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-19.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-19.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-19.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-19.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-2.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-2.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-2.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-2.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-20.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-20.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-20.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-20.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-21.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-21.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-21.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-21.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-22.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-22.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-22.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-22.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-23.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-23.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-23.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-23.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-24.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-24.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-24.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-24.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-25.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-25.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-25.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-25.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-26.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-26.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-26.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-26.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-27.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-27.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-27.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-27.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-28.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-28.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-28.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-28.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-29.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-29.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-29.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-29.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-3.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-3.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-3.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-3.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-30.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-30.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-30.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-30.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-31.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-31.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-31.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-31.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-32.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-32.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-32.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-32.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-33.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-33.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-33.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-33.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-34.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-34.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-34.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-34.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-35.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-35.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-35.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-35.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-36.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-36.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-36.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-36.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-37.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-37.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-37.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-37.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-38.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-38.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-38.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-38.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-39.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-39.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-39.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-39.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-4.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-4.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-4.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-4.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-40.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-40.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-40.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-40.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-41.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-41.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-41.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-41.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-42.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-42.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-42.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-42.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-43.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-43.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-43.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-43.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-44.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-44.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-44.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-44.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-45.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-45.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-45.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-45.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-46.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-46.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-46.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-46.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-47.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-47.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-47.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-47.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-48.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-48.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-48.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-48.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-49.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-49.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-49.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-49.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-5.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-5.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-5.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-5.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-50.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-50.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-50.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-50.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-51.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-51.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-51.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-51.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-52.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-52.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-52.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-52.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-53.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-53.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-53.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-53.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-54.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-54.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-54.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-54.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-55.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-55.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-55.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-55.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-56.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-56.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-56.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-56.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-57.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-57.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-57.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-57.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-58.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-58.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-58.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-58.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-59.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-59.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-59.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-59.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-6.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-6.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-6.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-6.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-60.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-60.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-60.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-60.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-61.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-61.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-61.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-61.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-62.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-62.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-62.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-62.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-63.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-63.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-63.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-63.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-7.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-7.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-7.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-7.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-8.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-8.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-8.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-8.conf
diff --git a/source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-9.conf b/test/test-integration/src/test/resources/bftsmart/local-bftsmart-9.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/bftsmart/local-bftsmart-9.conf
rename to test/test-integration/src/test/resources/bftsmart/local-bftsmart-9.conf
diff --git a/source/test/test-integration/src/test/resources/contract-read.jar b/test/test-integration/src/test/resources/contract-read.jar
similarity index 100%
rename from source/test/test-integration/src/test/resources/contract-read.jar
rename to test/test-integration/src/test/resources/contract-read.jar
diff --git a/source/test/test-integration/src/test/resources/contract.jar b/test/test-integration/src/test/resources/contract.jar
similarity index 100%
rename from source/test/test-integration/src/test/resources/contract.jar
rename to test/test-integration/src/test/resources/contract.jar
diff --git a/source/test/test-integration/src/test/resources/jdchain.policy b/test/test-integration/src/test/resources/jdchain.policy
similarity index 100%
rename from source/test/test-integration/src/test/resources/jdchain.policy
rename to test/test-integration/src/test/resources/jdchain.policy
diff --git a/source/test/test-ledger/src/test/resources/keys/parti2.pub b/test/test-integration/src/test/resources/keys/parti2.pub
similarity index 100%
rename from source/test/test-ledger/src/test/resources/keys/parti2.pub
rename to test/test-integration/src/test/resources/keys/parti2.pub
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-mem-0.conf b/test/test-integration/src/test/resources/ledger-binding-mem-0.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-mem-0.conf
rename to test/test-integration/src/test/resources/ledger-binding-mem-0.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-mem-1.conf b/test/test-integration/src/test/resources/ledger-binding-mem-1.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-mem-1.conf
rename to test/test-integration/src/test/resources/ledger-binding-mem-1.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-mem-2.conf b/test/test-integration/src/test/resources/ledger-binding-mem-2.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-mem-2.conf
rename to test/test-integration/src/test/resources/ledger-binding-mem-2.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-mem-3.conf b/test/test-integration/src/test/resources/ledger-binding-mem-3.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-mem-3.conf
rename to test/test-integration/src/test/resources/ledger-binding-mem-3.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-redis-0.conf b/test/test-integration/src/test/resources/ledger-binding-redis-0.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-redis-0.conf
rename to test/test-integration/src/test/resources/ledger-binding-redis-0.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-redis-1.conf b/test/test-integration/src/test/resources/ledger-binding-redis-1.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-redis-1.conf
rename to test/test-integration/src/test/resources/ledger-binding-redis-1.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-redis-2.conf b/test/test-integration/src/test/resources/ledger-binding-redis-2.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-redis-2.conf
rename to test/test-integration/src/test/resources/ledger-binding-redis-2.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-redis-3.conf b/test/test-integration/src/test/resources/ledger-binding-redis-3.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-redis-3.conf
rename to test/test-integration/src/test/resources/ledger-binding-redis-3.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-rocksdb-0.conf b/test/test-integration/src/test/resources/ledger-binding-rocksdb-0.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-rocksdb-0.conf
rename to test/test-integration/src/test/resources/ledger-binding-rocksdb-0.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-rocksdb-1.conf b/test/test-integration/src/test/resources/ledger-binding-rocksdb-1.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-rocksdb-1.conf
rename to test/test-integration/src/test/resources/ledger-binding-rocksdb-1.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-rocksdb-2.conf b/test/test-integration/src/test/resources/ledger-binding-rocksdb-2.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-rocksdb-2.conf
rename to test/test-integration/src/test/resources/ledger-binding-rocksdb-2.conf
diff --git a/source/test/test-integration/src/test/resources/ledger-binding-rocksdb-3.conf b/test/test-integration/src/test/resources/ledger-binding-rocksdb-3.conf
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger-binding-rocksdb-3.conf
rename to test/test-integration/src/test/resources/ledger-binding-rocksdb-3.conf
diff --git a/source/test/test-integration/src/test/resources/ledger.init b/test/test-integration/src/test/resources/ledger.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger.init
rename to test/test-integration/src/test/resources/ledger.init
diff --git a/source/test/test-integration/src/test/resources/ledger_init_test.init b/test/test-integration/src/test/resources/ledger_init_test.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger_init_test.init
rename to test/test-integration/src/test/resources/ledger_init_test.init
diff --git a/source/test/test-integration/src/test/resources/ledger_init_test_integration.init b/test/test-integration/src/test/resources/ledger_init_test_integration.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger_init_test_integration.init
rename to test/test-integration/src/test/resources/ledger_init_test_integration.init
diff --git a/source/test/test-integration/src/test/resources/ledger_init_test_web1.init b/test/test-integration/src/test/resources/ledger_init_test_web1.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger_init_test_web1.init
rename to test/test-integration/src/test/resources/ledger_init_test_web1.init
diff --git a/source/test/test-integration/src/test/resources/ledger_init_test_web2-role.init b/test/test-integration/src/test/resources/ledger_init_test_web2-role.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger_init_test_web2-role.init
rename to test/test-integration/src/test/resources/ledger_init_test_web2-role.init
diff --git a/source/test/test-integration/src/test/resources/ledger_init_test_web2.init b/test/test-integration/src/test/resources/ledger_init_test_web2.init
similarity index 100%
rename from source/test/test-integration/src/test/resources/ledger_init_test_web2.init
rename to test/test-integration/src/test/resources/ledger_init_test_web2.init
diff --git a/source/test/test-integration/src/test/resources/log4j2.xml b/test/test-integration/src/test/resources/log4j2.xml
similarity index 100%
rename from source/test/test-integration/src/test/resources/log4j2.xml
rename to test/test-integration/src/test/resources/log4j2.xml
diff --git a/source/test/test-integration/src/test/resources/mq.config b/test/test-integration/src/test/resources/mq.config
similarity index 100%
rename from source/test/test-integration/src/test/resources/mq.config
rename to test/test-integration/src/test/resources/mq.config
diff --git a/source/tools/tools-initializer/src/test/resources/system.config b/test/test-integration/src/test/resources/system.config
similarity index 100%
rename from source/tools/tools-initializer/src/test/resources/system.config
rename to test/test-integration/src/test/resources/system.config
diff --git a/source/test/test-ledger/pom.xml b/test/test-ledger/pom.xml
similarity index 100%
rename from source/test/test-ledger/pom.xml
rename to test/test-ledger/pom.xml
diff --git a/source/test/test-ledger/src/main/java/test/perf/com/jd/blockchain/ledger/MerkleDatasetPerformanceTester.java b/test/test-ledger/src/main/java/test/perf/com/jd/blockchain/ledger/MerkleDatasetPerformanceTester.java
similarity index 100%
rename from source/test/test-ledger/src/main/java/test/perf/com/jd/blockchain/ledger/MerkleDatasetPerformanceTester.java
rename to test/test-ledger/src/main/java/test/perf/com/jd/blockchain/ledger/MerkleDatasetPerformanceTester.java
diff --git a/source/test/test-ledger/src/main/resources/MerkleDataset_Performance_Result_20180922.txt b/test/test-ledger/src/main/resources/MerkleDataset_Performance_Result_20180922.txt
similarity index 100%
rename from source/test/test-ledger/src/main/resources/MerkleDataset_Performance_Result_20180922.txt
rename to test/test-ledger/src/main/resources/MerkleDataset_Performance_Result_20180922.txt
diff --git a/source/test/test-ledger/src/test/java/test/com/jd/blockchain/test/ledger/RolesAuthorizationTest.java b/test/test-ledger/src/test/java/test/com/jd/blockchain/test/ledger/RolesAuthorizationTest.java
similarity index 100%
rename from source/test/test-ledger/src/test/java/test/com/jd/blockchain/test/ledger/RolesAuthorizationTest.java
rename to test/test-ledger/src/test/java/test/com/jd/blockchain/test/ledger/RolesAuthorizationTest.java
diff --git a/source/tools/tools-initializer/src/test/resources/bftsmart.config b/test/test-ledger/src/test/resources/bftsmart.config
similarity index 100%
rename from source/tools/tools-initializer/src/test/resources/bftsmart.config
rename to test/test-ledger/src/test/resources/bftsmart.config
diff --git a/source/tools/tools-initializer/src/test/resources/keys/parti2.pub b/test/test-ledger/src/test/resources/keys/parti2.pub
similarity index 100%
rename from source/tools/tools-initializer/src/test/resources/keys/parti2.pub
rename to test/test-ledger/src/test/resources/keys/parti2.pub
diff --git a/source/test/test-ledger/src/test/resources/ledger.init b/test/test-ledger/src/test/resources/ledger.init
similarity index 100%
rename from source/test/test-ledger/src/test/resources/ledger.init
rename to test/test-ledger/src/test/resources/ledger.init
diff --git a/source/test/test-ledger/src/test/resources/logback-test.xml b/test/test-ledger/src/test/resources/logback-test.xml
similarity index 100%
rename from source/test/test-ledger/src/test/resources/logback-test.xml
rename to test/test-ledger/src/test/resources/logback-test.xml