@@ -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> |