| @@ -17,14 +17,12 @@ | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>ledger-model</artifactId> | |||
| <version>${project.version}</version> | |||
| <scope>provided</scope> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-framework</artifactId> | |||
| <version>${project.version}</version> | |||
| <scope>provided</scope> | |||
| </dependency> | |||
| @@ -24,5 +24,27 @@ | |||
| <module>contract-samples</module> | |||
| </modules> | |||
| <dependencyManagement> | |||
| <dependencies> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>sdk-client</artifactId> | |||
| <version>${framework.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>ledger-model</artifactId> | |||
| <version>${framework.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-framework</artifactId> | |||
| <version>${framework.version}</version> | |||
| </dependency> | |||
| </dependencies> | |||
| </dependencyManagement> | |||
| </project> | |||
| @@ -13,12 +13,10 @@ | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>sdk-client</artifactId> | |||
| <version>${project.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>ledger-model</artifactId> | |||
| <version>${project.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| @@ -1,14 +1,17 @@ | |||
| package com.jd.blockchain.sdk.samples; | |||
| import com.jd.blockchain.contract.TransferContract; | |||
| import com.jd.blockchain.ledger.*; | |||
| import static com.jd.blockchain.sdk.samples.SDKDemo_Constant.readChainCodes; | |||
| import static com.jd.blockchain.transaction.ContractReturnValue.decode; | |||
| import com.jd.blockchain.ledger.BlockchainKeyGenerator; | |||
| import com.jd.blockchain.ledger.BlockchainKeypair; | |||
| import com.jd.blockchain.ledger.PreparedTransaction; | |||
| import com.jd.blockchain.ledger.TransactionResponse; | |||
| import com.jd.blockchain.ledger.TransactionTemplate; | |||
| import com.jd.blockchain.transaction.GenericValueHolder; | |||
| import com.jd.blockchain.utils.Bytes; | |||
| import com.jd.chain.contracts.ContractTestInf; | |||
| import static com.jd.blockchain.sdk.samples.SDKDemo_Constant.readChainCodes; | |||
| import static com.jd.blockchain.transaction.ContractReturnValue.decode; | |||
| public class SDK_Contract_Check_Demo extends SDK_Base_Demo { | |||
| public static void main(String[] args) { | |||
| @@ -6,12 +6,12 @@ import static com.jd.blockchain.transaction.ContractReturnValue.decode; | |||
| import com.jd.blockchain.contract.TransferContract; | |||
| import com.jd.blockchain.ledger.BlockchainKeyGenerator; | |||
| import com.jd.blockchain.ledger.BlockchainKeypair; | |||
| import com.jd.blockchain.ledger.TypedKVEntry; | |||
| import com.jd.blockchain.ledger.PreparedTransaction; | |||
| import com.jd.blockchain.ledger.TransactionResponse; | |||
| import com.jd.blockchain.ledger.TransactionTemplate; | |||
| import com.jd.blockchain.transaction.LongValueHolder; | |||
| import com.jd.blockchain.ledger.TypedKVEntry; | |||
| import com.jd.blockchain.transaction.GenericValueHolder; | |||
| import com.jd.blockchain.transaction.LongValueHolder; | |||
| import com.jd.blockchain.utils.Bytes; | |||
| public class SDK_Contract_Demo extends SDK_Base_Demo { | |||
| @@ -4,29 +4,114 @@ | |||
| <modelVersion>4.0.0</modelVersion> | |||
| <parent> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>jdchain-root</artifactId> | |||
| <version>1.1.2.RELEASE</version> | |||
| <artifactId>jdchain-core</artifactId> | |||
| <version>1.2.0-SNAPSHOT</version> | |||
| <relativePath>../core</relativePath> | |||
| </parent> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>test</artifactId> | |||
| <version>1.2.0-SNAPSHOT</version> | |||
| <packaging>pom</packaging> | |||
| <properties> | |||
| <core.version>1.2.0-SNAPSHOT</core.version> | |||
| </properties> | |||
| <modules> | |||
| <module>../core</module> | |||
| <module>test-consensus-client</module> | |||
| <module>test-consensus-node</module> | |||
| <module>test-ledger</module> | |||
| <module>test-contract</module> | |||
| <module>test-integration</module> | |||
| </modules> | |||
| <build> | |||
| <plugins> | |||
| <plugin> | |||
| <groupId>org.apache.maven.plugins</groupId> | |||
| <artifactId>maven-deploy-plugin</artifactId> | |||
| <version>2.8.2</version> | |||
| <configuration> | |||
| <skip>true</skip> | |||
| </configuration> | |||
| </plugin> | |||
| </plugins> | |||
| </build> | |||
| <dependencyManagement> | |||
| <dependencies> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>consensus-bftsmart</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>consensus-mq</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>contract-jvm</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>contract-maven-plugin</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-adv</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-pki</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>gateway</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>peer</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>ledger-database</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>runtime-context</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>runtime-modular</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>runtime-modular-booter</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>storage-redis</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>storage-rocksdb</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| </dependencies> | |||
| </dependencyManagement> | |||
| </project> | |||
| @@ -5,7 +5,7 @@ | |||
| <parent> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>test</artifactId> | |||
| <version>1.1.2.RELEASE</version> | |||
| <version>1.2.0-SNAPSHOT</version> | |||
| </parent> | |||
| <artifactId>test-consensus-client</artifactId> | |||
| @@ -29,25 +29,19 @@ | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>consensus-bftsmart</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <!-- <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>utils-http</artifactId> | |||
| <version>${project.version}</version> | |||
| </dependency> | |||
| <version>${framework.version}</version> | |||
| </dependency> --> | |||
| <dependency> | |||
| <groupId>org.springframework.boot</groupId> | |||
| <artifactId>spring-boot-configuration-processor</artifactId> | |||
| <optional>true</optional> | |||
| </dependency> | |||
| <!-- | |||
| <dependency> | |||
| <groupId>com.jd.ump</groupId> | |||
| <artifactId>profiler</artifactId> | |||
| <version>4.0.5</version> | |||
| </dependency> | |||
| --> | |||
| </dependencies> | |||
| <build> | |||
| <plugins> | |||
| @@ -5,9 +5,10 @@ | |||
| <parent> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>test</artifactId> | |||
| <version>1.1.2.RELEASE</version> | |||
| <version>1.2.0-SNAPSHOT</version> | |||
| </parent> | |||
| <artifactId>test-consensus-node</artifactId> | |||
| <dependencies> | |||
| <dependency> | |||
| <groupId>org.springframework.boot</groupId> | |||
| @@ -28,17 +29,12 @@ | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>peer</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <!--<dependency>--> | |||
| <!--<groupId>com.jd.blockchain</groupId>--> | |||
| <!--<artifactId>consensus</artifactId>--> | |||
| <!--<version>${project.version}</version>--> | |||
| <!--</dependency>--> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>consensus-bftsmart</artifactId> | |||
| <version>1.1.2.RELEASE</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>org.springframework.boot</groupId> | |||
| @@ -5,7 +5,7 @@ | |||
| <parent> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>test</artifactId> | |||
| <version>1.0.1.RELEASE</version> | |||
| <version>1.2.0-SNAPSHOT</version> | |||
| </parent> | |||
| <artifactId>test-contract</artifactId> | |||
| @@ -13,22 +13,22 @@ | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>contract-jvm</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>ledger-core</artifactId> | |||
| <version>${project.version}</version> | |||
| <artifactId>ledger-database</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>storage-rocksdb</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <!-- <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-classic</artifactId> | |||
| <version>${project.version}</version> | |||
| </dependency> | |||
| <version>${framework.version}</version> | |||
| </dependency> --> | |||
| </dependencies> | |||
| </project> | |||
| @@ -5,60 +5,61 @@ | |||
| <parent> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>test</artifactId> | |||
| <version>1.1.2.RELEASE</version> | |||
| <version>1.2.0-SNAPSHOT</version> | |||
| </parent> | |||
| <artifactId>test-integration</artifactId> | |||
| <dependencies> | |||
| <dependency> | |||
| <groupId>org.mockito</groupId> | |||
| <artifactId>mockito-core</artifactId> | |||
| <scope>compile</scope> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>peer</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>storage-rocksdb</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>storage-redis</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>gateway</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>tools-initializer</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>sdk-client</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${framework.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>contract-samples</artifactId> | |||
| <version>${project.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>io.nats</groupId> | |||
| <artifactId>jnats</artifactId> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-classic</artifactId> | |||
| <version>${framework.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-classic</artifactId> | |||
| <version>${project.version}</version> | |||
| <groupId>io.nats</groupId> | |||
| <artifactId>jnats</artifactId> | |||
| </dependency> | |||
| </dependencies> | |||
| <build> | |||
| <plugins> | |||
| <plugin> | |||
| @@ -8,6 +8,7 @@ import java.util.Properties; | |||
| import java.util.Random; | |||
| import java.util.concurrent.CountDownLatch; | |||
| import org.mockito.Mockito; | |||
| import org.springframework.core.io.ClassPathResource; | |||
| import com.jd.blockchain.consensus.ConsensusProvider; | |||
| @@ -31,7 +31,7 @@ import org.apache.commons.io.FileUtils; | |||
| import org.springframework.core.io.ClassPathResource; | |||
| import com.jd.blockchain.binaryproto.DataContractRegistry; | |||
| import com.jd.blockchain.contract.ReadContract; | |||
| //import com.jd.blockchain.contract.ReadContract; | |||
| import com.jd.blockchain.crypto.AddressEncoding; | |||
| import com.jd.blockchain.crypto.AsymmetricKeypair; | |||
| import com.jd.blockchain.crypto.HashDigest; | |||
| @@ -0,0 +1,17 @@ | |||
| package test.com.jd.blockchain.intgr; | |||
| import com.jd.blockchain.contract.Contract; | |||
| import com.jd.blockchain.contract.ContractEvent; | |||
| @Contract | |||
| public interface ReadContract { | |||
| @ContractEvent(name = "read-key") | |||
| String read(String address, String key); | |||
| @ContractEvent(name = "version-key") | |||
| Long readVersion(String address, String key); | |||
| int test(); | |||
| } | |||
| @@ -0,0 +1,54 @@ | |||
| package test.com.jd.blockchain.intgr; | |||
| import com.jd.blockchain.contract.Contract; | |||
| import com.jd.blockchain.contract.ContractEvent; | |||
| import com.jd.blockchain.contract.ContractEventContext; | |||
| import com.jd.blockchain.contract.EventProcessingAware; | |||
| import com.jd.blockchain.crypto.HashDigest; | |||
| import com.jd.blockchain.ledger.TypedKVEntry; | |||
| @Contract | |||
| public class ReadContractImpl implements EventProcessingAware, ReadContract { | |||
| private ContractEventContext eventContext; | |||
| private HashDigest ledgerHash; | |||
| @Override | |||
| public void beforeEvent(ContractEventContext eventContext) { | |||
| this.eventContext = eventContext; | |||
| this.ledgerHash = eventContext.getCurrentLedgerHash(); | |||
| } | |||
| @Override | |||
| public void postEvent(ContractEventContext eventContext, Exception error) { | |||
| } | |||
| @Override | |||
| @ContractEvent(name = "read-key") | |||
| public String read(String address, String key) { | |||
| TypedKVEntry[] kvDataEntries = eventContext.getLedger().getDataEntries(ledgerHash, address, key); | |||
| if (kvDataEntries != null && kvDataEntries.length == 1) { | |||
| return kvDataEntries[0].getValue().toString(); | |||
| } | |||
| return null; | |||
| } | |||
| @Override | |||
| @ContractEvent(name = "version-key") | |||
| public Long readVersion(String address, String key) { | |||
| TypedKVEntry[] kvDataEntries = eventContext.getLedger().getDataEntries(ledgerHash, address, key); | |||
| if (kvDataEntries != null && kvDataEntries.length == 1) { | |||
| return kvDataEntries[0].getVersion(); | |||
| } | |||
| return -1L; | |||
| } | |||
| @Override | |||
| public int test() { | |||
| return 0; | |||
| } | |||
| } | |||
| @@ -5,7 +5,7 @@ | |||
| <parent> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>test</artifactId> | |||
| <version>1.1.2.RELEASE</version> | |||
| <version>1.2.0-SNAPSHOT</version> | |||
| </parent> | |||
| <artifactId>test-ledger</artifactId> | |||
| @@ -13,27 +13,27 @@ | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>tools-initializer</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>ledger-core</artifactId> | |||
| <version>${project.version}</version> | |||
| <artifactId>ledger-database</artifactId> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>storage-redis</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>storage-rocksdb</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${core.version}</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.jd.blockchain</groupId> | |||
| <artifactId>crypto-classic</artifactId> | |||
| <version>${project.version}</version> | |||
| <version>${framework.version}</version> | |||
| </dependency> | |||
| </dependencies> | |||