@@ -12,7 +12,7 @@ | |||||
<dependencies> | <dependencies> | ||||
<dependency> | <dependency> | ||||
<groupId>com.jd.blockchain</groupId> | <groupId>com.jd.blockchain</groupId> | ||||
<artifactId>contract-model</artifactId> | |||||
<artifactId>ledger-model</artifactId> | |||||
<version>${project.version}</version> | <version>${project.version}</version> | ||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
@@ -27,7 +27,6 @@ | |||||
<plugin> | <plugin> | ||||
<groupId>org.apache.maven.plugins</groupId> | <groupId>org.apache.maven.plugins</groupId> | ||||
<artifactId>maven-deploy-plugin</artifactId> | <artifactId>maven-deploy-plugin</artifactId> | ||||
<version>2.8.2</version> | |||||
<configuration> | <configuration> | ||||
<skip>true</skip> | <skip>true</skip> | ||||
</configuration> | </configuration> | ||||
@@ -1,6 +1,6 @@ | |||||
package com.jd.blockchain.contract; | |||||
package com.jd.blockchain.contract.engine; | |||||
import com.jd.blockchain.contract.model.ContractEventContext; | |||||
import com.jd.blockchain.contract.ContractEventContext; | |||||
public interface ContractCode { | public interface ContractCode { | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract; | |||||
package com.jd.blockchain.contract.engine; | |||||
/** | /** | ||||
* 合约引擎; | * 合约引擎; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract; | |||||
package com.jd.blockchain.contract.engine; | |||||
public interface ContractServiceProvider { | public interface ContractServiceProvider { | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract; | |||||
package com.jd.blockchain.contract.engine; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.concurrent.ConcurrentHashMap; | import java.util.concurrent.ConcurrentHashMap; |
@@ -1,7 +1,7 @@ | |||||
package com.jd.blockchain.contract.jvm; | package com.jd.blockchain.contract.jvm; | ||||
import com.jd.blockchain.contract.ContractCode; | |||||
import com.jd.blockchain.contract.ContractEngine; | |||||
import com.jd.blockchain.contract.engine.ContractCode; | |||||
import com.jd.blockchain.contract.engine.ContractEngine; | |||||
import com.jd.blockchain.runtime.Module; | import com.jd.blockchain.runtime.Module; | ||||
import com.jd.blockchain.runtime.RuntimeContext; | import com.jd.blockchain.runtime.RuntimeContext; | ||||
@@ -1,7 +1,7 @@ | |||||
package com.jd.blockchain.contract.jvm; | package com.jd.blockchain.contract.jvm; | ||||
import com.jd.blockchain.contract.ContractEngine; | |||||
import com.jd.blockchain.contract.ContractServiceProvider; | |||||
import com.jd.blockchain.contract.engine.ContractEngine; | |||||
import com.jd.blockchain.contract.engine.ContractServiceProvider; | |||||
public class JVMContractServiceProvider implements ContractServiceProvider { | public class JVMContractServiceProvider implements ContractServiceProvider { | ||||
@Override | @Override | ||||
@@ -1,22 +1,19 @@ | |||||
package com.jd.blockchain.contract.jvm; | package com.jd.blockchain.contract.jvm; | ||||
import com.jd.blockchain.contract.ContractCode; | |||||
import com.jd.blockchain.contract.model.ContractEvent; | |||||
import com.jd.blockchain.contract.model.ContractEventContext; | |||||
import com.jd.blockchain.runtime.Module; | |||||
import com.jd.blockchain.utils.BaseConstant; | |||||
import java.lang.annotation.Annotation; | |||||
import java.lang.reflect.Method; | |||||
import java.util.HashMap; | |||||
import java.util.Map; | |||||
import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
import org.springframework.util.ReflectionUtils; | import org.springframework.util.ReflectionUtils; | ||||
import static com.jd.blockchain.utils.BaseConstant.CONTRACT_MAIN_CLASS_KEY; | |||||
import java.lang.annotation.Annotation; | |||||
import java.lang.reflect.Method; | |||||
import java.util.HashMap; | |||||
import java.util.Map; | |||||
import java.util.Properties; | |||||
import com.jd.blockchain.contract.ContractEvent; | |||||
import com.jd.blockchain.contract.ContractEventContext; | |||||
import com.jd.blockchain.contract.engine.ContractCode; | |||||
import com.jd.blockchain.runtime.Module; | |||||
import com.jd.blockchain.utils.BaseConstant; | |||||
/** | /** | ||||
* contract code based jvm | * contract code based jvm | ||||
@@ -9,32 +9,33 @@ | |||||
</parent> | </parent> | ||||
<artifactId>contract-maven-plugin</artifactId> | <artifactId>contract-maven-plugin</artifactId> | ||||
<packaging>maven-plugin</packaging> | <packaging>maven-plugin</packaging> | ||||
<properties> | |||||
<contract.version>${parent.version}</contract.version> | |||||
<utils.version>${parent.version}</utils.version> | |||||
<junit.version>4.12</junit.version> | |||||
</properties> | |||||
<version>0.9.0-SNAPSHOT</version> | |||||
<dependencies> | <dependencies> | ||||
<dependency> | <dependency> | ||||
<groupId>junit</groupId> | |||||
<artifactId>junit</artifactId> | |||||
<scope>test</scope> | |||||
<groupId>com.jd.blockchain</groupId> | |||||
<artifactId>ledger-model</artifactId> | |||||
<version>${project.version}</version> | |||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
<groupId>com.jd.blockchain</groupId> | <groupId>com.jd.blockchain</groupId> | ||||
<artifactId>contract-model</artifactId> | |||||
<version>${contract.version}</version> | |||||
<artifactId>utils-common</artifactId> | |||||
<version>${project.version}</version> | |||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
<groupId>com.jd.blockchain</groupId> | <groupId>com.jd.blockchain</groupId> | ||||
<artifactId>utils-common</artifactId> | |||||
<version>${utils.version}</version> | |||||
<artifactId>sdk-client</artifactId> | |||||
<version>${project.version}</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>com.jd.blockchain</groupId> | |||||
<artifactId>tools-keygen</artifactId> | |||||
<version>${project.version}</version> | |||||
</dependency> | </dependency> | ||||
<!-- https://mvnrepository.com/artifact/org.apache.maven.plugin-tools/maven-plugin-annotations --> | <!-- https://mvnrepository.com/artifact/org.apache.maven.plugin-tools/maven-plugin-annotations --> | ||||
<dependency> | <dependency> | ||||
<groupId>org.apache.maven.plugin-tools</groupId> | <groupId>org.apache.maven.plugin-tools</groupId> | ||||
@@ -83,29 +84,30 @@ | |||||
<showWarnings>false</showWarnings> | <showWarnings>false</showWarnings> | ||||
</configuration> | </configuration> | ||||
</plugin> | </plugin> | ||||
<!--<plugin>--> | |||||
<!--<artifactId>maven-assembly-plugin</artifactId>--> | |||||
<!--<configuration>--> | |||||
<!--<archive>--> | |||||
<!--<manifest>--> | |||||
<!--<!–这里要替换成jar包main方法所在类 –>--> | |||||
<!--<mainClass>com.jd.blockchain.ContractDeployMojo</mainClass>--> | |||||
<!--</manifest>--> | |||||
<!--</archive>--> | |||||
<!--<descriptorRefs>--> | |||||
<!--<descriptojar-rRef>jar-with-dependencies</descriptojar-rRef>--> | |||||
<!--</descriptorRefs>--> | |||||
<!--</configuration>--> | |||||
<!--<executions>--> | |||||
<!--<execution>--> | |||||
<!--<id>make-assembly</id> <!– this is used for inheritance merges –>--> | |||||
<!--<phase>package</phase> <!– 指定在打包节点执行jar包合并操作 –>--> | |||||
<!--<goals>--> | |||||
<!--<goal>single</goal>--> | |||||
<!--</goals>--> | |||||
<!--</execution>--> | |||||
<!--</executions>--> | |||||
<!--</plugin>--> | |||||
<!--<plugin> --> | |||||
<!--<artifactId>maven-assembly-plugin</artifactId> --> | |||||
<!--<configuration> --> | |||||
<!--<archive> --> | |||||
<!--<manifest> --> | |||||
<!--<!–这里要替换成jar包main方法所在类 –> --> | |||||
<!--<mainClass>com.jd.blockchain.ContractDeployMojo</mainClass> --> | |||||
<!--</manifest> --> | |||||
<!--</archive> --> | |||||
<!--<descriptorRefs> --> | |||||
<!--<descriptojar-rRef>jar-with-dependencies</descriptojar-rRef> --> | |||||
<!--</descriptorRefs> --> | |||||
<!--</configuration> --> | |||||
<!--<executions> --> | |||||
<!--<execution> --> | |||||
<!--<id>make-assembly</id> <!– this is used for inheritance merges | |||||
–> --> | |||||
<!--<phase>package</phase> <!– 指定在打包节点执行jar包合并操作 –> --> | |||||
<!--<goals> --> | |||||
<!--<goal>single</goal> --> | |||||
<!--</goals> --> | |||||
<!--</execution> --> | |||||
<!--</executions> --> | |||||
<!--</plugin> --> | |||||
<plugin> | <plugin> | ||||
<groupId>org.apache.maven.plugins</groupId> | <groupId>org.apache.maven.plugins</groupId> | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain; | |||||
import java.io.File; | import java.io.File; | ||||
import java.io.FileInputStream; | import java.io.FileInputStream; | ||||
@@ -160,25 +160,28 @@ public enum ContractDeployExeUtil { | |||||
return deploy(ledgerHash, contractIdentity, ownerKey, chainCode); | return deploy(ledgerHash, contractIdentity, ownerKey, chainCode); | ||||
} | } | ||||
public boolean exeContract(String ledger,String ownerPubPath, String ownerPrvPath, | |||||
String ownerPassword,String event,String contractArgs){ | |||||
BlockchainKeypair ownerKey = getKeyPair(ownerPubPath, ownerPrvPath, ownerPassword); | |||||
HashDigest ledgerHash = new HashDigest(Base58Utils.decode(ledger)); | |||||
// 定义交易,传输最简单的数字、字符串、提取合约中的地址; | |||||
TransactionTemplate txTpl = bcsrv.newTransaction(ledgerHash); | |||||
txTpl.contractEvents().send(getContractAddress(),event,contractArgs.getBytes()); | |||||
// 签名; | |||||
PreparedTransaction ptx = txTpl.prepare(); | |||||
ptx.sign(ownerKey); | |||||
// 提交并等待共识返回; | |||||
TransactionResponse txResp = ptx.commit(); | |||||
// 验证结果; | |||||
return txResp.isSuccess(); | |||||
} | |||||
// 暂不支持从插件执行合约;此外,由于合约参数调用的格式发生变化,故此方法被废弃;by: huanghaiquan at 2019-04-30; | |||||
// public boolean exeContract(String ledger,String ownerPubPath, String ownerPrvPath, | |||||
// String ownerPassword,String event,String contractArgs){ | |||||
// BlockchainKeypair ownerKey = getKeyPair(ownerPubPath, ownerPrvPath, ownerPassword); | |||||
// HashDigest ledgerHash = new HashDigest(Base58Utils.decode(ledger)); | |||||
// | |||||
// // 定义交易,传输最简单的数字、字符串、提取合约中的地址; | |||||
// TransactionTemplate txTpl = bcsrv.newTransaction(ledgerHash); | |||||
// txTpl.contractEvents().send(getContractAddress(),event,contractArgs.getBytes()); | |||||
// | |||||
// // 签名; | |||||
// PreparedTransaction ptx = txTpl.prepare(); | |||||
// ptx.sign(ownerKey); | |||||
// | |||||
// // 提交并等待共识返回; | |||||
// TransactionResponse txResp = ptx.commit(); | |||||
// | |||||
// // 验证结果; | |||||
// return txResp.isSuccess(); | |||||
// } | |||||
public Bytes getContractAddress() { | public Bytes getContractAddress() { | ||||
return contractAddress; | return contractAddress; |
@@ -1,6 +1,5 @@ | |||||
package com.jd.blockchain; | package com.jd.blockchain; | ||||
import com.jd.blockchain.contract.model.ContractDeployExeUtil; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.crypto.PrivKey; | import com.jd.blockchain.crypto.PrivKey; | ||||
import com.jd.blockchain.crypto.PubKey; | import com.jd.blockchain.crypto.PubKey; | ||||
@@ -10,7 +10,7 @@ | |||||
<artifactId>contract-model</artifactId> | <artifactId>contract-model</artifactId> | ||||
<dependencies> | <dependencies> | ||||
<dependency> | |||||
<!-- <dependency> | |||||
<groupId>com.jd.blockchain</groupId> | <groupId>com.jd.blockchain</groupId> | ||||
<artifactId>sdk-client</artifactId> | <artifactId>sdk-client</artifactId> | ||||
<version>${project.version}</version> | <version>${project.version}</version> | ||||
@@ -26,12 +26,7 @@ | |||||
<groupId>com.jd.blockchain</groupId> | <groupId>com.jd.blockchain</groupId> | ||||
</exclusion> | </exclusion> | ||||
</exclusions> | </exclusions> | ||||
</dependency> | |||||
</dependency> --> | |||||
<!--<dependency>--> | |||||
<!--<groupId>com.jd.blockchain</groupId>--> | |||||
<!--<artifactId>tools-initializer</artifactId>--> | |||||
<!--<version>${project.version}</version>--> | |||||
<!--</dependency>--> | |||||
</dependencies> | </dependencies> | ||||
</project> | </project> |
@@ -1,11 +0,0 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
import com.jd.blockchain.ledger.data.DataAccountOperator; | |||||
import com.jd.blockchain.ledger.data.UserOperator; | |||||
import com.jd.blockchain.sdk.BlockchainQueryService; | |||||
public interface LedgerContext extends BlockchainQueryService, UserOperator, DataAccountOperator{ | |||||
} |
@@ -1,7 +1,7 @@ | |||||
package com.jd.blockchain.gateway; | package com.jd.blockchain.gateway; | ||||
import com.jd.blockchain.ledger.data.TransactionService; | |||||
import com.jd.blockchain.sdk.BlockchainQueryService; | |||||
import com.jd.blockchain.transaction.BlockchainQueryService; | |||||
import com.jd.blockchain.transaction.TransactionService; | |||||
public interface PeerService { | public interface PeerService { | ||||
@@ -7,9 +7,9 @@ import org.springframework.stereotype.Component; | |||||
import com.jd.blockchain.crypto.AsymmetricKeypair; | import com.jd.blockchain.crypto.AsymmetricKeypair; | ||||
import com.jd.blockchain.gateway.PeerConnector; | import com.jd.blockchain.gateway.PeerConnector; | ||||
import com.jd.blockchain.gateway.PeerService; | import com.jd.blockchain.gateway.PeerService; | ||||
import com.jd.blockchain.ledger.data.TransactionService; | |||||
import com.jd.blockchain.sdk.BlockchainQueryService; | |||||
import com.jd.blockchain.sdk.service.PeerBlockchainServiceFactory; | import com.jd.blockchain.sdk.service.PeerBlockchainServiceFactory; | ||||
import com.jd.blockchain.transaction.BlockchainQueryService; | |||||
import com.jd.blockchain.transaction.TransactionService; | |||||
import com.jd.blockchain.utils.net.NetworkAddress; | import com.jd.blockchain.utils.net.NetworkAddress; | ||||
import java.util.List; | import java.util.List; | ||||
@@ -16,7 +16,7 @@ import com.jd.blockchain.ledger.DigitalSignature; | |||||
import com.jd.blockchain.ledger.TransactionContent; | import com.jd.blockchain.ledger.TransactionContent; | ||||
import com.jd.blockchain.ledger.TransactionRequest; | import com.jd.blockchain.ledger.TransactionRequest; | ||||
import com.jd.blockchain.ledger.TransactionResponse; | import com.jd.blockchain.ledger.TransactionResponse; | ||||
import com.jd.blockchain.ledger.data.TransactionService; | |||||
import com.jd.blockchain.transaction.TransactionService; | |||||
import com.jd.blockchain.utils.BusinessException; | import com.jd.blockchain.utils.BusinessException; | ||||
import com.jd.blockchain.web.converters.BinaryMessageConverter; | import com.jd.blockchain.web.converters.BinaryMessageConverter; | ||||
@@ -2,9 +2,25 @@ package com.jd.blockchain.ledger.core.impl; | |||||
import com.jd.blockchain.binaryproto.BinaryEncodingUtils; | import com.jd.blockchain.binaryproto.BinaryEncodingUtils; | ||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.*; | |||||
import com.jd.blockchain.ledger.core.*; | |||||
import com.jd.blockchain.sdk.BlockchainQueryService; | |||||
import com.jd.blockchain.ledger.AccountHeader; | |||||
import com.jd.blockchain.ledger.BytesValue; | |||||
import com.jd.blockchain.ledger.KVDataEntry; | |||||
import com.jd.blockchain.ledger.KVDataObject; | |||||
import com.jd.blockchain.ledger.LedgerBlock; | |||||
import com.jd.blockchain.ledger.LedgerInfo; | |||||
import com.jd.blockchain.ledger.LedgerTransaction; | |||||
import com.jd.blockchain.ledger.ParticipantNode; | |||||
import com.jd.blockchain.ledger.TransactionState; | |||||
import com.jd.blockchain.ledger.UserInfo; | |||||
import com.jd.blockchain.ledger.core.ContractAccountSet; | |||||
import com.jd.blockchain.ledger.core.DataAccount; | |||||
import com.jd.blockchain.ledger.core.DataAccountSet; | |||||
import com.jd.blockchain.ledger.core.LedgerAdministration; | |||||
import com.jd.blockchain.ledger.core.LedgerRepository; | |||||
import com.jd.blockchain.ledger.core.LedgerService; | |||||
import com.jd.blockchain.ledger.core.TransactionSet; | |||||
import com.jd.blockchain.ledger.core.UserAccountSet; | |||||
import com.jd.blockchain.transaction.BlockchainQueryService; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import com.jd.blockchain.utils.QueryUtil; | import com.jd.blockchain.utils.QueryUtil; | ||||
import com.jd.blockchain.utils.ValueType; | import com.jd.blockchain.utils.ValueType; | ||||
@@ -20,9 +20,9 @@ import com.jd.blockchain.ledger.core.LedgerService; | |||||
import com.jd.blockchain.ledger.core.LedgerTransactionContext; | import com.jd.blockchain.ledger.core.LedgerTransactionContext; | ||||
import com.jd.blockchain.ledger.core.OperationHandle; | import com.jd.blockchain.ledger.core.OperationHandle; | ||||
import com.jd.blockchain.ledger.core.TransactionRequestContext; | import com.jd.blockchain.ledger.core.TransactionRequestContext; | ||||
import com.jd.blockchain.ledger.service.TransactionBatchProcess; | |||||
import com.jd.blockchain.ledger.service.TransactionBatchResult; | |||||
import com.jd.blockchain.ledger.service.TransactionBatchResultHandle; | |||||
import com.jd.blockchain.service.TransactionBatchProcess; | |||||
import com.jd.blockchain.service.TransactionBatchResult; | |||||
import com.jd.blockchain.service.TransactionBatchResultHandle; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
public class TransactionBatchProcessor implements TransactionBatchProcess { | public class TransactionBatchProcessor implements TransactionBatchProcess { | ||||
@@ -11,8 +11,8 @@ import com.jd.blockchain.ledger.core.LedgerDataSet; | |||||
import com.jd.blockchain.ledger.core.LedgerEditor; | import com.jd.blockchain.ledger.core.LedgerEditor; | ||||
import com.jd.blockchain.ledger.core.LedgerRepository; | import com.jd.blockchain.ledger.core.LedgerRepository; | ||||
import com.jd.blockchain.ledger.core.LedgerService; | import com.jd.blockchain.ledger.core.LedgerService; | ||||
import com.jd.blockchain.ledger.service.TransactionBatchProcess; | |||||
import com.jd.blockchain.ledger.service.TransactionEngine; | |||||
import com.jd.blockchain.service.TransactionBatchProcess; | |||||
import com.jd.blockchain.service.TransactionEngine; | |||||
public class TransactionEngineImpl implements TransactionEngine { | public class TransactionEngineImpl implements TransactionEngine { | ||||
@@ -1,7 +1,7 @@ | |||||
package com.jd.blockchain.ledger.core.impl.handles; | package com.jd.blockchain.ledger.core.impl.handles; | ||||
import com.jd.blockchain.contract.ContractServiceProviders; | |||||
import com.jd.blockchain.contract.model.LocalContractEventContext; | |||||
import com.jd.blockchain.contract.LocalContractEventContext; | |||||
import com.jd.blockchain.contract.engine.ContractServiceProviders; | |||||
import com.jd.blockchain.ledger.ContractEventSendOperation; | import com.jd.blockchain.ledger.ContractEventSendOperation; | ||||
import com.jd.blockchain.ledger.Operation; | import com.jd.blockchain.ledger.Operation; | ||||
import com.jd.blockchain.ledger.core.*; | import com.jd.blockchain.ledger.core.*; | ||||
@@ -4,17 +4,32 @@ import java.util.ArrayList; | |||||
import java.util.List; | import java.util.List; | ||||
import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
import com.jd.blockchain.contract.model.LedgerContext; | |||||
import com.jd.blockchain.contract.LedgerContext; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.*; | |||||
import com.jd.blockchain.ledger.AccountHeader; | |||||
import com.jd.blockchain.ledger.BlockchainIdentity; | |||||
import com.jd.blockchain.ledger.BytesValue; | |||||
import com.jd.blockchain.ledger.BytesValueImpl; | |||||
import com.jd.blockchain.ledger.DataAccountKVSetOperation; | |||||
import com.jd.blockchain.ledger.DataAccountRegisterOperation; | |||||
import com.jd.blockchain.ledger.DataType; | |||||
import com.jd.blockchain.ledger.KVDataEntry; | |||||
import com.jd.blockchain.ledger.LedgerBlock; | |||||
import com.jd.blockchain.ledger.LedgerInfo; | |||||
import com.jd.blockchain.ledger.LedgerTransaction; | |||||
import com.jd.blockchain.ledger.Operation; | |||||
import com.jd.blockchain.ledger.ParticipantNode; | |||||
import com.jd.blockchain.ledger.TransactionState; | |||||
import com.jd.blockchain.ledger.UserInfo; | |||||
import com.jd.blockchain.ledger.UserRegisterOperation; | |||||
import com.jd.blockchain.ledger.core.impl.OperationHandleContext; | import com.jd.blockchain.ledger.core.impl.OperationHandleContext; | ||||
import com.jd.blockchain.ledger.data.DataAccountKVSetOperationBuilder; | |||||
import com.jd.blockchain.ledger.data.DataAccountRegisterOperationBuilder; | |||||
import com.jd.blockchain.ledger.data.DataAccountRegisterOperationBuilderImpl; | |||||
import com.jd.blockchain.ledger.data.KVData; | |||||
import com.jd.blockchain.ledger.data.UserRegisterOperationBuilder; | |||||
import com.jd.blockchain.ledger.data.UserRegisterOperationBuilderImpl; | |||||
import com.jd.blockchain.sdk.BlockchainQueryService; | |||||
import com.jd.blockchain.transaction.BlockchainQueryService; | |||||
import com.jd.blockchain.transaction.DataAccountKVSetOperationBuilder; | |||||
import com.jd.blockchain.transaction.DataAccountRegisterOperationBuilder; | |||||
import com.jd.blockchain.transaction.DataAccountRegisterOperationBuilderImpl; | |||||
import com.jd.blockchain.transaction.KVData; | |||||
import com.jd.blockchain.transaction.UserRegisterOperationBuilder; | |||||
import com.jd.blockchain.transaction.UserRegisterOperationBuilderImpl; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import com.jd.blockchain.utils.io.BytesUtils; | import com.jd.blockchain.utils.io.BytesUtils; | ||||
@@ -21,9 +21,9 @@ import com.jd.blockchain.ledger.core.CryptoConfig; | |||||
import com.jd.blockchain.ledger.core.LedgerAdminAccount; | import com.jd.blockchain.ledger.core.LedgerAdminAccount; | ||||
import com.jd.blockchain.ledger.core.LedgerConfiguration; | import com.jd.blockchain.ledger.core.LedgerConfiguration; | ||||
import com.jd.blockchain.ledger.core.LedgerMetadata; | import com.jd.blockchain.ledger.core.LedgerMetadata; | ||||
import com.jd.blockchain.ledger.data.ConsensusParticipantData; | |||||
import com.jd.blockchain.ledger.data.LedgerInitSettingData; | |||||
import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | ||||
import com.jd.blockchain.transaction.ConsensusParticipantData; | |||||
import com.jd.blockchain.transaction.LedgerInitSettingData; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import com.jd.blockchain.utils.io.BytesUtils; | import com.jd.blockchain.utils.io.BytesUtils; | ||||
import com.jd.blockchain.utils.net.NetworkAddress; | import com.jd.blockchain.utils.net.NetworkAddress; | ||||
@@ -26,9 +26,9 @@ import com.jd.blockchain.ledger.core.LedgerEditor; | |||||
import com.jd.blockchain.ledger.core.LedgerTransactionContext; | import com.jd.blockchain.ledger.core.LedgerTransactionContext; | ||||
import com.jd.blockchain.ledger.core.UserAccount; | import com.jd.blockchain.ledger.core.UserAccount; | ||||
import com.jd.blockchain.ledger.core.impl.LedgerTransactionalEditor; | import com.jd.blockchain.ledger.core.impl.LedgerTransactionalEditor; | ||||
import com.jd.blockchain.ledger.data.ConsensusParticipantData; | |||||
import com.jd.blockchain.ledger.data.LedgerInitSettingData; | |||||
import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | ||||
import com.jd.blockchain.transaction.ConsensusParticipantData; | |||||
import com.jd.blockchain.transaction.LedgerInitSettingData; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import com.jd.blockchain.utils.io.BytesUtils; | import com.jd.blockchain.utils.io.BytesUtils; | ||||
import com.jd.blockchain.utils.net.NetworkAddress; | import com.jd.blockchain.utils.net.NetworkAddress; | ||||
@@ -19,9 +19,9 @@ import com.jd.blockchain.ledger.LedgerInitOperation; | |||||
import com.jd.blockchain.ledger.LedgerInitSetting; | import com.jd.blockchain.ledger.LedgerInitSetting; | ||||
import com.jd.blockchain.ledger.core.CryptoConfig; | import com.jd.blockchain.ledger.core.CryptoConfig; | ||||
import com.jd.blockchain.ledger.core.ParticipantCertData; | import com.jd.blockchain.ledger.core.ParticipantCertData; | ||||
import com.jd.blockchain.ledger.data.ConsensusParticipantData; | |||||
import com.jd.blockchain.ledger.data.LedgerInitOpTemplate; | |||||
import com.jd.blockchain.ledger.data.LedgerInitSettingData; | |||||
import com.jd.blockchain.transaction.ConsensusParticipantData; | |||||
import com.jd.blockchain.transaction.LedgerInitOpTemplate; | |||||
import com.jd.blockchain.transaction.LedgerInitSettingData; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import com.jd.blockchain.utils.net.NetworkAddress; | import com.jd.blockchain.utils.net.NetworkAddress; | ||||
@@ -18,9 +18,9 @@ import com.jd.blockchain.ledger.BlockchainKeypair; | |||||
import com.jd.blockchain.ledger.LedgerInitSetting; | import com.jd.blockchain.ledger.LedgerInitSetting; | ||||
import com.jd.blockchain.ledger.core.CryptoConfig; | import com.jd.blockchain.ledger.core.CryptoConfig; | ||||
import com.jd.blockchain.ledger.core.ParticipantCertData; | import com.jd.blockchain.ledger.core.ParticipantCertData; | ||||
import com.jd.blockchain.ledger.data.ConsensusParticipantData; | |||||
import com.jd.blockchain.ledger.data.LedgerInitOpTemplate; | |||||
import com.jd.blockchain.ledger.data.LedgerInitSettingData; | |||||
import com.jd.blockchain.transaction.ConsensusParticipantData; | |||||
import com.jd.blockchain.transaction.LedgerInitOpTemplate; | |||||
import com.jd.blockchain.transaction.LedgerInitSettingData; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import com.jd.blockchain.utils.net.NetworkAddress; | import com.jd.blockchain.utils.net.NetworkAddress; | ||||
@@ -39,10 +39,10 @@ import com.jd.blockchain.ledger.core.LedgerTransactionContext; | |||||
import com.jd.blockchain.ledger.core.UserAccount; | import com.jd.blockchain.ledger.core.UserAccount; | ||||
import com.jd.blockchain.ledger.core.UserAccountSet; | import com.jd.blockchain.ledger.core.UserAccountSet; | ||||
import com.jd.blockchain.ledger.core.impl.LedgerManager; | import com.jd.blockchain.ledger.core.impl.LedgerManager; | ||||
import com.jd.blockchain.ledger.data.ConsensusParticipantData; | |||||
import com.jd.blockchain.ledger.data.LedgerInitSettingData; | |||||
import com.jd.blockchain.ledger.data.TxBuilder; | |||||
import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | ||||
import com.jd.blockchain.transaction.ConsensusParticipantData; | |||||
import com.jd.blockchain.transaction.LedgerInitSettingData; | |||||
import com.jd.blockchain.transaction.TxBuilder; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import com.jd.blockchain.utils.io.BytesUtils; | import com.jd.blockchain.utils.io.BytesUtils; | ||||
import com.jd.blockchain.utils.net.NetworkAddress; | import com.jd.blockchain.utils.net.NetworkAddress; | ||||
@@ -15,8 +15,8 @@ import com.jd.blockchain.ledger.TransactionRequest; | |||||
import com.jd.blockchain.ledger.TransactionResponse; | import com.jd.blockchain.ledger.TransactionResponse; | ||||
import com.jd.blockchain.ledger.core.CryptoConfig; | import com.jd.blockchain.ledger.core.CryptoConfig; | ||||
import com.jd.blockchain.ledger.core.impl.TransactionStagedSnapshot; | import com.jd.blockchain.ledger.core.impl.TransactionStagedSnapshot; | ||||
import com.jd.blockchain.ledger.data.TransactionService; | |||||
import com.jd.blockchain.ledger.data.TxTemplate; | |||||
import com.jd.blockchain.transaction.TransactionService; | |||||
import com.jd.blockchain.transaction.TxTemplate; | |||||
public class LedgerTestUtils { | public class LedgerTestUtils { | ||||
@@ -37,10 +37,10 @@ import com.jd.blockchain.ledger.TransactionRequest; | |||||
import com.jd.blockchain.ledger.TransactionState; | import com.jd.blockchain.ledger.TransactionState; | ||||
import com.jd.blockchain.ledger.core.impl.LedgerTransactionData; | import com.jd.blockchain.ledger.core.impl.LedgerTransactionData; | ||||
import com.jd.blockchain.ledger.core.impl.TransactionStagedSnapshot; | import com.jd.blockchain.ledger.core.impl.TransactionStagedSnapshot; | ||||
import com.jd.blockchain.ledger.data.BlockchainOperationFactory; | |||||
import com.jd.blockchain.ledger.data.DigitalSignatureBlob; | |||||
import com.jd.blockchain.ledger.data.TxContentBlob; | |||||
import com.jd.blockchain.ledger.data.TxRequestMessage; | |||||
import com.jd.blockchain.transaction.BlockchainOperationFactory; | |||||
import com.jd.blockchain.transaction.DigitalSignatureBlob; | |||||
import com.jd.blockchain.transaction.TxContentBlob; | |||||
import com.jd.blockchain.transaction.TxRequestMessage; | |||||
import com.jd.blockchain.utils.io.ByteArray; | import com.jd.blockchain.utils.io.ByteArray; | ||||
/** | /** | ||||
@@ -33,8 +33,8 @@ import com.jd.blockchain.ledger.UserRegisterOperation; | |||||
import com.jd.blockchain.ledger.core.TransactionSet; | import com.jd.blockchain.ledger.core.TransactionSet; | ||||
import com.jd.blockchain.ledger.core.impl.LedgerTransactionData; | import com.jd.blockchain.ledger.core.impl.LedgerTransactionData; | ||||
import com.jd.blockchain.ledger.core.impl.TransactionStagedSnapshot; | import com.jd.blockchain.ledger.core.impl.TransactionStagedSnapshot; | ||||
import com.jd.blockchain.ledger.data.TxBuilder; | |||||
import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | import com.jd.blockchain.storage.service.utils.MemoryKVStorage; | ||||
import com.jd.blockchain.transaction.TxBuilder; | |||||
import com.jd.blockchain.utils.io.BytesUtils; | import com.jd.blockchain.utils.io.BytesUtils; | ||||
public class TransactionSetTest { | public class TransactionSetTest { | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
import java.lang.annotation.ElementType; | import java.lang.annotation.ElementType; | ||||
import java.lang.annotation.Retention; | import java.lang.annotation.Retention; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
/** | /** | ||||
* 合约实现此接口可以监听合约应用的生命周期事件; | * 合约实现此接口可以监听合约应用的生命周期事件; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
import java.lang.annotation.ElementType; | import java.lang.annotation.ElementType; | ||||
import java.lang.annotation.Retention; | import java.lang.annotation.Retention; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
public class ContractException extends RuntimeException { | public class ContractException extends RuntimeException { | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
/** | /** | ||||
* 合约实现 {@link ContractRuntimeAwire} 的子接口可以监听运行时的生命周期事件; | * 合约实现 {@link ContractRuntimeAwire} 的子接口可以监听运行时的生命周期事件; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
/** | /** | ||||
* 给每个错误编码,编译快速定位; | * 给每个错误编码,编译快速定位; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
import java.lang.annotation.ElementType; | import java.lang.annotation.ElementType; | ||||
import java.lang.annotation.Retention; | import java.lang.annotation.Retention; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
/** | /** | ||||
* @author huanghaiquan | * @author huanghaiquan |
@@ -0,0 +1,11 @@ | |||||
package com.jd.blockchain.contract; | |||||
import com.jd.blockchain.transaction.BlockchainQueryService; | |||||
import com.jd.blockchain.transaction.DataAccountOperator; | |||||
import com.jd.blockchain.transaction.UserOperator; | |||||
public interface LedgerContext extends BlockchainQueryService, UserOperator, DataAccountOperator{ | |||||
} |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.contract.model; | |||||
package com.jd.blockchain.contract; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; |
@@ -13,12 +13,6 @@ import com.jd.blockchain.utils.ValueType; | |||||
@DataContract(code= TypeCodes.TX_OP_CONTRACT_EVENT_SEND) | @DataContract(code= TypeCodes.TX_OP_CONTRACT_EVENT_SEND) | ||||
public interface ContractEventSendOperation extends Operation { | public interface ContractEventSendOperation extends Operation { | ||||
// @DataField(order=1, refEnum=true) | |||||
// @Override | |||||
// default OperationType getType() { | |||||
// return OperationType.SEND_CONTRACT_EVENT; | |||||
// } | |||||
@DataField(order=2, primitiveType=ValueType.BYTES) | @DataField(order=2, primitiveType=ValueType.BYTES) | ||||
Bytes getContractAddress(); | Bytes getContractAddress(); | ||||
@@ -1,8 +1,8 @@ | |||||
package com.jd.blockchain.ledger; | package com.jd.blockchain.ledger; | ||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.data.ClientOperator; | |||||
import com.jd.blockchain.ledger.data.LedgerInitOperator; | |||||
import com.jd.blockchain.transaction.ClientOperator; | |||||
import com.jd.blockchain.transaction.LedgerInitOperator; | |||||
/** | /** | ||||
* 区块链交易模板; | * 区块链交易模板; | ||||
@@ -1,7 +1,7 @@ | |||||
package com.jd.blockchain.ledger; | package com.jd.blockchain.ledger; | ||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.data.ClientOperator; | |||||
import com.jd.blockchain.transaction.ClientOperator; | |||||
/** | /** | ||||
* 区块链交易模板; | * 区块链交易模板; | ||||
@@ -1,11 +0,0 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
public interface EventOperator { | |||||
/** | |||||
* 部署合约; | |||||
* @return | |||||
*/ | |||||
ContractEventSendOperationBuilder contractEvents(); | |||||
} |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.service; | |||||
package com.jd.blockchain.service; | |||||
import com.jd.blockchain.ledger.TransactionRequest; | import com.jd.blockchain.ledger.TransactionRequest; | ||||
import com.jd.blockchain.ledger.TransactionResponse; | import com.jd.blockchain.ledger.TransactionResponse; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.service; | |||||
package com.jd.blockchain.service; | |||||
import java.util.Iterator; | import java.util.Iterator; | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.service; | |||||
package com.jd.blockchain.service; | |||||
import com.jd.blockchain.ledger.TransactionState; | import com.jd.blockchain.ledger.TransactionState; | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.service; | |||||
package com.jd.blockchain.service; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.manage; | |||||
package com.jd.blockchain.setting; | |||||
/** | /** | ||||
* 网关接入设置; | * 网关接入设置; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.manage; | |||||
package com.jd.blockchain.setting; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.CryptoSetting; | import com.jd.blockchain.ledger.CryptoSetting; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Collection; | import java.util.Collection; | ||||
@@ -15,6 +15,10 @@ import com.jd.blockchain.ledger.Operation; | |||||
import com.jd.blockchain.ledger.UserRegisterOperation; | import com.jd.blockchain.ledger.UserRegisterOperation; | ||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
/** | |||||
* @author huanghaiquan | |||||
* | |||||
*/ | |||||
public class BlockchainOperationFactory implements ClientOperator, LedgerInitOperator { | public class BlockchainOperationFactory implements ClientOperator, LedgerInitOperator { | ||||
private static final LedgerInitOperationBuilderImpl LEDGER_INIT_OP_BUILDER = new LedgerInitOperationBuilderImpl(); | private static final LedgerInitOperationBuilderImpl LEDGER_INIT_OP_BUILDER = new LedgerInitOperationBuilderImpl(); | ||||
@@ -27,6 +31,7 @@ public class BlockchainOperationFactory implements ClientOperator, LedgerInitOpe | |||||
private static final ContractEventSendOperationBuilderImpl CONTRACT_EVENT_SEND_OP_BUILDER = new ContractEventSendOperationBuilderImpl(); | private static final ContractEventSendOperationBuilderImpl CONTRACT_EVENT_SEND_OP_BUILDER = new ContractEventSendOperationBuilderImpl(); | ||||
private LedgerInitOperationBuilder ledgerInitOpBuilder = new LedgerInitOperationBuilderFilter(); | private LedgerInitOperationBuilder ledgerInitOpBuilder = new LedgerInitOperationBuilderFilter(); | ||||
private UserRegisterOperationBuilder userRegOpBuilder = new UserRegisterOperationBuilderFilter(); | private UserRegisterOperationBuilder userRegOpBuilder = new UserRegisterOperationBuilderFilter(); | ||||
@@ -73,6 +78,12 @@ public class BlockchainOperationFactory implements ClientOperator, LedgerInitOpe | |||||
public ContractEventSendOperationBuilder contractEvents() { | public ContractEventSendOperationBuilder contractEvents() { | ||||
return contractEventSendOpBuilder; | return contractEventSendOpBuilder; | ||||
} | } | ||||
@Override | |||||
public <T> T contract(String address, Class<T> contractIntf) { | |||||
// TODO Auto-generated method stub | |||||
return null; | |||||
} | |||||
public Collection<Operation> getOperations() { | public Collection<Operation> getOperations() { | ||||
// TODO: 合并操作列表中可能的重复操作; | // TODO: 合并操作列表中可能的重复操作; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.sdk; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.*; | import com.jd.blockchain.ledger.*; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
/** | /** | ||||
* 面向客户端的操作; | * 面向客户端的操作; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.crypto.PubKey; | import com.jd.blockchain.crypto.PubKey; | ||||
import com.jd.blockchain.ledger.ParticipantNode; | import com.jd.blockchain.ledger.ParticipantNode; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.binaryproto.DataContractRegistry; | import com.jd.blockchain.binaryproto.DataContractRegistry; | ||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; | ||||
import com.jd.blockchain.ledger.ContractCodeDeployOperation; | import com.jd.blockchain.ledger.ContractCodeDeployOperation; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; | ||||
import com.jd.blockchain.ledger.ContractCodeDeployOperation; | import com.jd.blockchain.ledger.ContractCodeDeployOperation; |
@@ -0,0 +1,5 @@ | |||||
package com.jd.blockchain.transaction; | |||||
class ContractDefinition { | |||||
} |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.binaryproto.DataContractRegistry; | import com.jd.blockchain.binaryproto.DataContractRegistry; | ||||
import com.jd.blockchain.ledger.ContractEventSendOperation; | import com.jd.blockchain.ledger.ContractEventSendOperation; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.ContractEventSendOperation; | import com.jd.blockchain.ledger.ContractEventSendOperation; | ||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
@@ -11,6 +11,7 @@ public interface ContractEventSendOperationBuilder { | |||||
* @param args 事件参数; | * @param args 事件参数; | ||||
* @return | * @return | ||||
*/ | */ | ||||
@Deprecated | |||||
ContractEventSendOperation send(String address, String event, byte[] args); | ContractEventSendOperation send(String address, String event, byte[] args); | ||||
/** | /** | ||||
@@ -19,6 +20,7 @@ public interface ContractEventSendOperationBuilder { | |||||
* @param args 事件参数; | * @param args 事件参数; | ||||
* @return | * @return | ||||
*/ | */ | ||||
@Deprecated | |||||
ContractEventSendOperation send(Bytes address, String event, byte[] args); | ContractEventSendOperation send(Bytes address, String event, byte[] args); | ||||
} | } |
@@ -1,9 +1,10 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.ContractEventSendOperation; | import com.jd.blockchain.ledger.ContractEventSendOperation; | ||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
public class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder{ | |||||
@Deprecated | |||||
class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder{ | |||||
@Override | @Override |
@@ -0,0 +1,22 @@ | |||||
package com.jd.blockchain.transaction; | |||||
import java.lang.reflect.InvocationHandler; | |||||
import java.lang.reflect.Method; | |||||
public class ContractInvocationProxy implements InvocationHandler { | |||||
private String contractMessage; | |||||
private ContractEventSendOperationBuilder sendOpBuilder; | |||||
@Override | |||||
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { | |||||
// TODO Auto-generated method stub | |||||
return null; | |||||
} | |||||
} |
@@ -0,0 +1,6 @@ | |||||
package com.jd.blockchain.transaction; | |||||
class ContractInvocationProxyBuilder { | |||||
} |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
public interface ContractOperator { | public interface ContractOperator { | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import java.util.LinkedHashMap; | import java.util.LinkedHashMap; | ||||
import java.util.Map; | import java.util.Map; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.DataAccountKVSetOperation; | import com.jd.blockchain.ledger.DataAccountKVSetOperation; | ||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BytesValue; | import com.jd.blockchain.ledger.BytesValue; | ||||
import com.jd.blockchain.ledger.BytesValueImpl; | import com.jd.blockchain.ledger.BytesValueImpl; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.binaryproto.DataContractRegistry; | import com.jd.blockchain.binaryproto.DataContractRegistry; | ||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; | ||||
import com.jd.blockchain.ledger.DataAccountRegisterOperation; | import com.jd.blockchain.ledger.DataAccountRegisterOperation; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; | ||||
import com.jd.blockchain.ledger.DataAccountRegisterOperation; | import com.jd.blockchain.ledger.DataAccountRegisterOperation; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.crypto.PubKey; | import com.jd.blockchain.crypto.PubKey; |
@@ -0,0 +1,22 @@ | |||||
package com.jd.blockchain.transaction; | |||||
public interface EventOperator { | |||||
/** | |||||
* 部署合约; | |||||
* | |||||
* @return | |||||
*/ | |||||
@Deprecated | |||||
ContractEventSendOperationBuilder contractEvents(); | |||||
/** | |||||
* 创建调用合约的代理实例; | |||||
* | |||||
* @param address | |||||
* @param contractIntf | |||||
* @return | |||||
*/ | |||||
<T> T contract(String address, Class<T> contractIntf); | |||||
} |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BytesValue; | import com.jd.blockchain.ledger.BytesValue; | ||||
import com.jd.blockchain.ledger.DataAccountKVSetOperation.KVWriteEntry; | import com.jd.blockchain.ledger.DataAccountKVSetOperation.KVWriteEntry; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.binaryproto.DataContractRegistry; | import com.jd.blockchain.binaryproto.DataContractRegistry; | ||||
import com.jd.blockchain.ledger.LedgerInitOperation; | import com.jd.blockchain.ledger.LedgerInitOperation; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.LedgerInitOperation; | import com.jd.blockchain.ledger.LedgerInitOperation; | ||||
import com.jd.blockchain.ledger.LedgerInitSetting; | import com.jd.blockchain.ledger.LedgerInitSetting; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.LedgerInitOperation; | import com.jd.blockchain.ledger.LedgerInitOperation; | ||||
import com.jd.blockchain.ledger.LedgerInitSetting; | import com.jd.blockchain.ledger.LedgerInitSetting; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
public interface LedgerInitOperator { | public interface LedgerInitOperator { | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.ParticipantNode; | import com.jd.blockchain.ledger.ParticipantNode; | ||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; |
@@ -1,3 +1,4 @@ | |||||
package com.jd.blockchain.transaction; | |||||
//package com.jd.blockchain.ledger.data; | //package com.jd.blockchain.ledger.data; | ||||
// | // | ||||
//import com.jd.blockchain.ledger.OperationType; | //import com.jd.blockchain.ledger.OperationType; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.binaryproto.BinaryEncodingUtils; | import com.jd.blockchain.binaryproto.BinaryEncodingUtils; | ||||
import com.jd.blockchain.crypto.AsymmetricKeypair; | import com.jd.blockchain.crypto.AsymmetricKeypair; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.PrivilegeType; | import com.jd.blockchain.ledger.PrivilegeType; | ||||
@@ -1,3 +1,4 @@ | |||||
package com.jd.blockchain.transaction; | |||||
//package com.jd.blockchain.ledger.data; | //package com.jd.blockchain.ledger.data; | ||||
// | // | ||||
//import com.jd.blockchain.ledger.KeyType; | //import com.jd.blockchain.ledger.KeyType; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import org.springframework.util.Base64Utils; | import org.springframework.util.Base64Utils; | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.TransactionRequest; | import com.jd.blockchain.ledger.TransactionRequest; | ||||
import com.jd.blockchain.ledger.TransactionResponse; | import com.jd.blockchain.ledger.TransactionResponse; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.binaryproto.BinaryEncodingUtils; | import com.jd.blockchain.binaryproto.BinaryEncodingUtils; | ||||
import com.jd.blockchain.binaryproto.DataContractRegistry; | import com.jd.blockchain.binaryproto.DataContractRegistry; | ||||
@@ -83,5 +83,11 @@ public class TxBuilder implements TransactionBuilder { | |||||
public ContractEventSendOperationBuilder contractEvents() { | public ContractEventSendOperationBuilder contractEvents() { | ||||
return opFactory.contractEvents(); | return opFactory.contractEvents(); | ||||
} | } | ||||
@Override | |||||
public <T> T contract(String address, Class<T> contractIntf) { | |||||
// TODO Auto-generated method stub | |||||
return null; | |||||
} | |||||
} | } |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Collection; | import java.util.Collection; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import java.util.LinkedHashMap; | import java.util.LinkedHashMap; | ||||
import java.util.List; | import java.util.List; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.TransactionState; | import com.jd.blockchain.ledger.TransactionState; | ||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.crypto.HashDigest; | import com.jd.blockchain.crypto.HashDigest; | ||||
import com.jd.blockchain.ledger.PreparedTransaction; | import com.jd.blockchain.ledger.PreparedTransaction; | ||||
@@ -57,5 +57,10 @@ public class TxTemplate implements TransactionTemplate { | |||||
public ContractEventSendOperationBuilder contractEvents() { | public ContractEventSendOperationBuilder contractEvents() { | ||||
return txBuilder.contractEvents(); | return txBuilder.contractEvents(); | ||||
} | } | ||||
@Override | |||||
public <T> T contract(String address, Class<T> contractIntf) { | |||||
return txBuilder.contract(address, contractIntf); | |||||
} | |||||
} | } |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
public interface UserOperator { | public interface UserOperator { | ||||
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.binaryproto.DataContractRegistry; | import com.jd.blockchain.binaryproto.DataContractRegistry; | ||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; | ||||
import com.jd.blockchain.ledger.UserRegisterOperation; | import com.jd.blockchain.ledger.UserRegisterOperation; |
@@ -1,4 +1,4 @@ | |||||
package com.jd.blockchain.ledger.data; | |||||
package com.jd.blockchain.transaction; | |||||
import com.jd.blockchain.ledger.BlockchainIdentity; | import com.jd.blockchain.ledger.BlockchainIdentity; | ||||
import com.jd.blockchain.ledger.UserRegisterOperation; | import com.jd.blockchain.ledger.UserRegisterOperation; |
@@ -24,7 +24,7 @@ import com.jd.blockchain.ledger.BlockchainIdentity; | |||||
import com.jd.blockchain.ledger.BlockchainIdentityData; | import com.jd.blockchain.ledger.BlockchainIdentityData; | ||||
import com.jd.blockchain.ledger.ContractCodeDeployOperation; | import com.jd.blockchain.ledger.ContractCodeDeployOperation; | ||||
import com.jd.blockchain.ledger.Operation; | import com.jd.blockchain.ledger.Operation; | ||||
import com.jd.blockchain.ledger.data.ContractCodeDeployOpTemplate; | |||||
import com.jd.blockchain.transaction.ContractCodeDeployOpTemplate; | |||||
import com.jd.blockchain.utils.io.BytesUtils; | import com.jd.blockchain.utils.io.BytesUtils; | ||||
/** | /** | ||||
@@ -13,8 +13,8 @@ import com.jd.blockchain.binaryproto.DataContractRegistry; | |||||
import com.jd.blockchain.ledger.ContractEventSendOperation; | import com.jd.blockchain.ledger.ContractEventSendOperation; | ||||
import com.jd.blockchain.ledger.DataAccountKVSetOperation; | import com.jd.blockchain.ledger.DataAccountKVSetOperation; | ||||
import com.jd.blockchain.ledger.Operation; | import com.jd.blockchain.ledger.Operation; | ||||
import com.jd.blockchain.ledger.data.ContractEventSendOpTemplate; | |||||
import com.jd.blockchain.ledger.data.DataAccountKVSetOpTemplate; | |||||
import com.jd.blockchain.transaction.ContractEventSendOpTemplate; | |||||
import com.jd.blockchain.transaction.DataAccountKVSetOpTemplate; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import org.junit.Before; | import org.junit.Before; | ||||
@@ -14,8 +14,8 @@ import com.jd.blockchain.ledger.BytesValueImpl; | |||||
import com.jd.blockchain.ledger.DataAccountKVSetOperation; | import com.jd.blockchain.ledger.DataAccountKVSetOperation; | ||||
import com.jd.blockchain.ledger.DataType; | import com.jd.blockchain.ledger.DataType; | ||||
import com.jd.blockchain.ledger.Operation; | import com.jd.blockchain.ledger.Operation; | ||||
import com.jd.blockchain.ledger.data.DataAccountKVSetOpTemplate; | |||||
import com.jd.blockchain.ledger.data.KVData; | |||||
import com.jd.blockchain.transaction.DataAccountKVSetOpTemplate; | |||||
import com.jd.blockchain.transaction.KVData; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
import org.junit.Before; | import org.junit.Before; | ||||
@@ -22,7 +22,7 @@ import com.jd.blockchain.ledger.BlockchainIdentity; | |||||
import com.jd.blockchain.ledger.BlockchainIdentityData; | import com.jd.blockchain.ledger.BlockchainIdentityData; | ||||
import com.jd.blockchain.ledger.DataAccountRegisterOperation; | import com.jd.blockchain.ledger.DataAccountRegisterOperation; | ||||
import com.jd.blockchain.ledger.Operation; | import com.jd.blockchain.ledger.Operation; | ||||
import com.jd.blockchain.ledger.data.DataAccountRegisterOpTemplate; | |||||
import com.jd.blockchain.transaction.DataAccountRegisterOpTemplate; | |||||
/** | /** | ||||
* | * | ||||
@@ -23,7 +23,7 @@ import com.jd.blockchain.crypto.SignatureDigest; | |||||
import com.jd.blockchain.crypto.SignatureFunction; | import com.jd.blockchain.crypto.SignatureFunction; | ||||
import com.jd.blockchain.ledger.DigitalSignature; | import com.jd.blockchain.ledger.DigitalSignature; | ||||
import com.jd.blockchain.ledger.DigitalSignatureBody; | import com.jd.blockchain.ledger.DigitalSignatureBody; | ||||
import com.jd.blockchain.ledger.data.DigitalSignatureBlob; | |||||
import com.jd.blockchain.transaction.DigitalSignatureBlob; | |||||
/** | /** | ||||
* | * | ||||