diff --git a/LICENSE b/LICENSE
index 8e45f433..a333417e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -192,7 +192,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/source/base/src/main/java/com/jd/blockchain/consts/TypeCodes.java b/source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java
similarity index 93%
rename from source/base/src/main/java/com/jd/blockchain/consts/TypeCodes.java
rename to source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java
index 3289a18f..e4e17a14 100644
--- a/source/base/src/main/java/com/jd/blockchain/consts/TypeCodes.java
+++ b/source/base/src/main/java/com/jd/blockchain/consts/DataCodes.java
@@ -1,10 +1,12 @@
package com.jd.blockchain.consts;
/**
+ * A const registeration of codes of all data contracts in ledger model;
+ *
* @author huanghaiquan
*
*/
-public interface TypeCodes {
+public interface DataCodes {
public static final int BYTES_VALUE = 0x80;
@@ -59,11 +61,11 @@ public interface TypeCodes {
public static final int METADATA_CONSENSUS_PARTICIPANT = 0x621;
-// public static final int METADATA_CONSENSUS_NODE = 0x630;
+ // public static final int METADATA_CONSENSUS_NODE = 0x630;
public static final int METADATA_CONSENSUS_SETTING = 0x631;
-// public static final int METADATA_PARTICIPANT_INFO = 0x640;
+ // public static final int METADATA_PARTICIPANT_INFO = 0x640;
public static final int METADATA_CRYPTO_SETTING = 0x642;
@@ -87,7 +89,7 @@ public interface TypeCodes {
public static final int ENUM_TYPE_TRANSACTION_STATE = 0xB22;
- public static final int ENUM_TYPE_DATA_TYPE= 0xB23;
+ public static final int ENUM_TYPE_BYTES_VALUE_TYPE = 0xB23;
public static final int DIGITALSIGNATURE = 0xB30;
@@ -103,8 +105,6 @@ public interface TypeCodes {
public static final int REQUEST_ENDPOINT = 0xD20;
-
-
// ------------------ 共识相关 ----------------
public static final int CONSENSUS = 0x1000;
@@ -112,12 +112,11 @@ public interface TypeCodes {
public static final int CONSENSUS_ACTION_REQUEST = CONSENSUS | 0x01;
public static final int CONSENSUS_ACTION_RESPONSE = CONSENSUS | 0x02;
-
-
+
public static final int CONSENSUS_SETTINGS = CONSENSUS | 0x03;
public static final int CONSENSUS_NODE_SETTINGS = CONSENSUS | 0x04;
-
+
public static final int CONSENSUS_CLI_INCOMING_SETTINGS = CONSENSUS | 0x05;
// ------------------ 共识相关(BFTSMART) ----------------
@@ -126,7 +125,7 @@ public interface TypeCodes {
public static final int CONSENSUS_BFTSMART_SETTINGS = CONSENSUS_BFTSMART | 0x01;
public static final int CONSENSUS_BFTSMART_NODE_SETTINGS = CONSENSUS_BFTSMART | 0x02;
-
+
public static final int CONSENSUS_BFTSMART_CLI_INCOMING_SETTINGS = CONSENSUS_BFTSMART | 0x03;
public static final int CONSENSUS_BFTSMART_BLOCK_SETTINGS = CONSENSUS_BFTSMART | 0x04;
@@ -144,5 +143,4 @@ public interface TypeCodes {
public static final int CONSENSUS_MSGQUEUE_BLOCK_SETTINGS = CONSENSUS_MSGQUEUE | 0x05;
-
}
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryEncodingUtils.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java
similarity index 98%
rename from source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryEncodingUtils.java
rename to source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java
index 7abe013c..e0b17277 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryEncodingUtils.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java
@@ -10,7 +10,7 @@ import com.jd.blockchain.utils.io.BytesOutputBuffer;
import com.jd.blockchain.utils.io.BytesSlice;
import com.jd.blockchain.utils.io.BytesUtils;
-public class BinaryEncodingUtils {
+public class BinaryProtocol {
public static void encode(Object data, Class> contractType, OutputStream out) {
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java
index 1cb0fc75..179f7d76 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractEncoder.java
@@ -2,7 +2,6 @@ package com.jd.blockchain.binaryproto;
import com.jd.blockchain.utils.io.BytesInputStream;
import com.jd.blockchain.utils.io.BytesOutputBuffer;
-import com.jd.blockchain.utils.io.BytesSlice;
/**
* 二进制编码器;
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java
index e6848575..08dcc76f 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataContractRegistry.java
@@ -13,6 +13,9 @@ public class DataContractRegistry {
private DataContractRegistry() {
}
+
+ //TODO: Refactor contract type registering in service provider mode;
+
public static DataContractEncoder register(Class> contractType) {
DataContractEncoder encoder = DataContractContext.resolve(contractType);
return encoder;
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java
index fbd02711..1829eed6 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataField.java
@@ -5,8 +5,6 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import com.jd.blockchain.utils.ValueType;
-
/**
* 标记一个接口的字段作为数据契约的字段;
*
@@ -39,11 +37,11 @@ public @interface DataField {
* 基本数据类型;
*
*
- * 如果字段的类型属于 {@link ValueType} 枚举中的基本数据类型,则需要显式指定一种具体的类型;
+ * 如果字段的类型属于 {@link PrimitiveType} 枚举中的基本数据类型,则需要显式指定一种具体的类型;
*
* @return
*/
- ValueType primitiveType() default ValueType.NIL;
+ PrimitiveType primitiveType() default PrimitiveType.NIL;
/**
* 是否是枚举类型;
@@ -80,8 +78,8 @@ public @interface DataField {
/**
* 最大长度,单位为“byte”
*
- * 仅对于文本、字节数组、大整数等相关的数据类型有效(即:{@link ValueType} 枚举中编码大于等于 0x20
- * {@link ValueType#TEXT}的数据类型);
+ * 仅对于文本、字节数组、大整数等相关的数据类型有效(即:{@link PrimitiveType} 枚举中编码大于等于 0x20
+ * {@link PrimitiveType#TEXT}的数据类型);
*
* @return
*/
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataType.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataType.java
new file mode 100644
index 00000000..9df9f7bd
--- /dev/null
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataType.java
@@ -0,0 +1,24 @@
+package com.jd.blockchain.binaryproto;
+
+public interface DataType {
+
+ /**
+ * 空值;
+ */
+ public static final byte NIL = (byte) 0x00;
+
+ /**
+ * 布尔;
+ */
+ public static final byte BOOLEAN = (byte) 0x01;
+
+ /**
+ * 数值;
+ */
+ public static final byte NUMERIC = (byte) 0x10;
+
+ public static final byte TEXT = (byte) 0x20;
+
+ public static final byte BINARY = (byte) 0x40;
+
+}
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java
index 43074e98..f7c588f1 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumField.java
@@ -5,8 +5,6 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import com.jd.blockchain.utils.ValueType;
-
@Target({ ElementType.FIELD, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface EnumField {
@@ -15,11 +13,11 @@ public @interface EnumField {
* 枚举值的类型;
*
*
- * 注:只支持 {@link ValueType#INT8} ~ {@link ValueType#INT32} 这几种类型;
+ * 注:只支持 {@link PrimitiveType#INT8} ~ {@link PrimitiveType#INT32} 这几种类型;
*
*
* @return
*/
- ValueType type();
+ PrimitiveType type();
}
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java
index c86f0bf0..6c4e73ce 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/EnumSpecification.java
@@ -1,9 +1,5 @@
package com.jd.blockchain.binaryproto;
-import java.util.Set;
-
-import com.jd.blockchain.utils.ValueType;
-
public interface EnumSpecification {
int getCode();
@@ -14,7 +10,7 @@ public interface EnumSpecification {
long getVersion();
- ValueType getValueType();
+ PrimitiveType getValueType();
int[] getItemValues();
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java
index 1c3621d6..315e6580 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/FieldSpec.java
@@ -1,7 +1,5 @@
package com.jd.blockchain.binaryproto;
-import com.jd.blockchain.utils.ValueType;
-
/**
* 表示数据契约字段的格式标准;
*
@@ -35,11 +33,11 @@ public interface FieldSpec {
* 字段的值的类型;
*
* 如果不是字段的值不是基本类型,则返回 null(即: {@link DataField#primitiveType()} 设置为
- * {@link ValueType#NIL});
+ * {@link PrimitiveType#NIL});
*
* @return
*/
- ValueType getPrimitiveType();
+ PrimitiveType getPrimitiveType();
/**
* 字段的值引用的枚举契约;
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java
new file mode 100644
index 00000000..cf791421
--- /dev/null
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java
@@ -0,0 +1,92 @@
+package com.jd.blockchain.binaryproto;
+
+/**
+ * 键值操作的数据类型;
+ *
+ * @author huanghaiquan
+ *
+ */
+public enum PrimitiveType {
+
+ /**
+ * 空;
+ */
+ NIL(DataType.NIL),
+
+ /**
+ * 布尔型;
+ */
+ BOOLEAN(DataType.BOOLEAN),
+
+ /**
+ * 数值型:
+ */
+ INT8((byte) (DataType.NUMERIC | 0x01)),
+
+ INT16((byte) (DataType.NUMERIC | 0x02)),
+
+ INT32((byte) (DataType.NUMERIC | 0x03)),
+
+ INT64((byte) (DataType.NUMERIC | 0x04)),
+
+ /**
+ * 日期时间;
+ */
+ DATETIME((byte) (DataType.NUMERIC | 0x08)),
+
+ /**
+ * 文本数据;
+ */
+ TEXT(DataType.TEXT),
+
+ /**
+ * 文本数据;
+ */
+ JSON((byte) (DataType.TEXT | 0x01)),
+
+ /**
+ * 文本数据;
+ */
+ XML((byte) (DataType.TEXT | 0x02)),
+
+ /**
+ * 二进制数据;
+ */
+ BYTES(DataType.BINARY),
+
+ /**
+ * 大整数;
+ */
+ BIG_INT((byte) (DataType.BINARY | 0x01)),
+
+ /**
+ * 图片;
+ */
+ IMG((byte) (DataType.BINARY | 0x02)),
+
+ /**
+ * 视频;
+ */
+ VIDEO((byte) (DataType.BINARY | 0x03)),
+
+ /**
+ * 位置坐标;
+ */
+ LOCATION((byte) (DataType.BINARY | 0x04));
+
+ public final byte CODE;
+
+ private PrimitiveType(byte code) {
+ this.CODE = code;
+ }
+
+ public static PrimitiveType valueOf(byte code) {
+ for (PrimitiveType dataType : PrimitiveType.values()) {
+ if (dataType.CODE == code) {
+ return dataType;
+ }
+ }
+ throw new IllegalArgumentException("Code[" + code + "] not suppported by PrimitiveType!");
+ }
+
+}
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java
index b0536f76..53c8161e 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/AbstractDynamicValueConverter.java
@@ -2,7 +2,6 @@ package com.jd.blockchain.binaryproto.impl;
import com.jd.blockchain.utils.io.BytesInputStream;
import com.jd.blockchain.utils.io.BytesOutputBuffer;
-import com.jd.blockchain.utils.io.BytesSlice;
import com.jd.blockchain.utils.io.NumberMask;
public abstract class AbstractDynamicValueConverter implements DynamicValueConverter {
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java
index f5efaa0e..ae923b4e 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractContext.java
@@ -5,7 +5,6 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -18,12 +17,12 @@ import com.jd.blockchain.binaryproto.DataContractEncoder;
import com.jd.blockchain.binaryproto.DataContractException;
import com.jd.blockchain.binaryproto.DataField;
import com.jd.blockchain.binaryproto.DataSpecification;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumContract;
import com.jd.blockchain.binaryproto.EnumField;
import com.jd.blockchain.binaryproto.EnumSpecification;
import com.jd.blockchain.binaryproto.FieldSpec;
import com.jd.blockchain.binaryproto.impl.EnumSpecificationInfo.EnumConstant;
-import com.jd.blockchain.utils.ValueType;
import com.jd.blockchain.utils.io.BytesSerializable;
import com.jd.blockchain.utils.io.BytesUtils;
import com.jd.blockchain.utils.security.SHA256Hash;
@@ -66,23 +65,23 @@ public class DataContractContext {
private static Map, EnumSpecification> enumContractSpecMap = new ConcurrentHashMap<>();
- private static Map, ValueConverter>> primitiveTypeConverters = new HashMap<>();
+ private static Map, ValueConverter>> primitiveTypeConverters = new HashMap<>();
static {
- addConverterMapping(ValueType.BOOLEAN, boolean.class, new BoolConverter());
- addConverterMapping(ValueType.BOOLEAN, Boolean.class, new BoolWrapperConverter());
- addConverterMapping(ValueType.INT8, byte.class, new Int8ByteConverter());
- addConverterMapping(ValueType.INT8, Byte.class, new Int8ByteWrapperConverter());
- addConverterMapping(ValueType.INT16, short.class, new Int16ShortConverter());
- addConverterMapping(ValueType.INT16, Short.class, new Int16ShortWrapperConverter());
- addConverterMapping(ValueType.INT16, char.class, new Int16CharConverter());
- addConverterMapping(ValueType.INT16, Character.class, new Int16CharWrapperConverter());
- addConverterMapping(ValueType.INT32, int.class, new Int32IntConverter());
- addConverterMapping(ValueType.INT32, Integer.class, new Int32IntWrapperConverter());
- addConverterMapping(ValueType.INT64, long.class, new Int64LongConverter());
- addConverterMapping(ValueType.INT64, Long.class, new Int64LongWrapperConverter());
- addConverterMapping(ValueType.TEXT, String.class, new StringValueConverter());
- addConverterMapping(ValueType.BYTES, byte[].class, new BytesValueConverter());
+ addConverterMapping(PrimitiveType.BOOLEAN, boolean.class, new BoolConverter());
+ addConverterMapping(PrimitiveType.BOOLEAN, Boolean.class, new BoolWrapperConverter());
+ addConverterMapping(PrimitiveType.INT8, byte.class, new Int8ByteConverter());
+ addConverterMapping(PrimitiveType.INT8, Byte.class, new Int8ByteWrapperConverter());
+ addConverterMapping(PrimitiveType.INT16, short.class, new Int16ShortConverter());
+ addConverterMapping(PrimitiveType.INT16, Short.class, new Int16ShortWrapperConverter());
+ addConverterMapping(PrimitiveType.INT16, char.class, new Int16CharConverter());
+ addConverterMapping(PrimitiveType.INT16, Character.class, new Int16CharWrapperConverter());
+ addConverterMapping(PrimitiveType.INT32, int.class, new Int32IntConverter());
+ addConverterMapping(PrimitiveType.INT32, Integer.class, new Int32IntWrapperConverter());
+ addConverterMapping(PrimitiveType.INT64, long.class, new Int64LongConverter());
+ addConverterMapping(PrimitiveType.INT64, Long.class, new Int64LongWrapperConverter());
+ addConverterMapping(PrimitiveType.TEXT, String.class, new StringValueConverter());
+ addConverterMapping(PrimitiveType.BYTES, byte[].class, new BytesValueConverter());
ENCODER_LOOKUP = new DataContractEncoderLookup() {
@Override
@@ -102,7 +101,7 @@ public class DataContractContext {
};
}
- private static void addConverterMapping(ValueType protocalType, Class> javaType, ValueConverter converter) {
+ private static void addConverterMapping(PrimitiveType protocalType, Class> javaType, ValueConverter converter) {
Map, ValueConverter> converterMap = primitiveTypeConverters.get(protocalType);
if (converterMap == null) {
converterMap = new HashMap<>();
@@ -111,14 +110,14 @@ public class DataContractContext {
converterMap.put(javaType, converter);
}
- private static ValueConverter getPrimitiveTypeConverter(ValueType protocalType, Class> javaType) {
+ private static ValueConverter getPrimitiveTypeConverter(PrimitiveType protocalType, Class> javaType) {
Map, ValueConverter> converterMap = primitiveTypeConverters.get(protocalType);
if (converterMap != null) {
ValueConverter converter = converterMap.get(javaType);
if (converter != null) {
return converter;
}
- if (ValueType.BYTES == protocalType && BytesSerializable.class.isAssignableFrom(javaType)) {
+ if (PrimitiveType.BYTES == protocalType && BytesSerializable.class.isAssignableFrom(javaType)) {
converter = new BytesSerializableValueConverter(javaType);
converterMap.put(javaType, converter);
return converter;
@@ -367,7 +366,7 @@ public class DataContractContext {
EnumSpecificationInfo enumSpec = (EnumSpecificationInfo) fieldInfo.fieldSpec.getRefEnum();
int[] values = enumSpec.getItemValues();
Object[] constants = enumSpec.getConstants();
- ValueType codeType = enumSpec.getValueType();
+ PrimitiveType codeType = enumSpec.getValueType();
ValueConverter baseConverter = getPrimitiveTypeConverter(codeType, enumSpec.getDataType());
@@ -411,8 +410,8 @@ public class DataContractContext {
private static BinarySliceSpec buildSlice(FieldSpecInfo fieldSpec) {
boolean fixed = false;
int len = -1;
- ValueType fixedValueType = null;
- if (fieldSpec.getPrimitiveType() != null && fieldSpec.getPrimitiveType() != ValueType.NIL) {
+ PrimitiveType fixedValueType = null;
+ if (fieldSpec.getPrimitiveType() != null && fieldSpec.getPrimitiveType() != PrimitiveType.NIL) {
fixedValueType = fieldSpec.getPrimitiveType();
} else if (fieldSpec.getRefEnum() != null) {
fixedValueType = fieldSpec.getRefEnum().getValueType();
@@ -547,7 +546,7 @@ public class DataContractContext {
}
int maxSize = annoField.maxSize();
- ValueType primitiveType = annoField.primitiveType();
+ PrimitiveType primitiveType = annoField.primitiveType();
if (primitiveType != null) {
primitiveType = verifyPrimitiveType(primitiveType, dataType, accessor);
}
@@ -651,7 +650,7 @@ public class DataContractContext {
* @param dataType
* @return
*/
- private static ValueType verifyPrimitiveType(ValueType primitiveType, Class> dataType, Method accessor) {
+ private static PrimitiveType verifyPrimitiveType(PrimitiveType primitiveType, Class> dataType, Method accessor) {
switch (primitiveType) {
case NIL:
return null;
@@ -763,6 +762,7 @@ public class DataContractContext {
public Method reader;
+ @SuppressWarnings("unused")
public DataField annoField;
public FieldDeclaredInfo(Method accessor, DataField annoField, FieldSpecInfo fieldSpec) {
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java
index 8a2d05b1..d13e3242 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/DataContractSpecification.java
@@ -1,6 +1,5 @@
package com.jd.blockchain.binaryproto.impl;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java
index baf753c5..3a67a022 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumSpecificationInfo.java
@@ -3,15 +3,15 @@ package com.jd.blockchain.binaryproto.impl;
import java.util.LinkedHashSet;
import java.util.Set;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumSpecification;
-import com.jd.blockchain.utils.ValueType;
/**
* Created by zhangshuang3 on 2018/6/21.
*/
public class EnumSpecificationInfo implements EnumSpecification {
- private ValueType valueType;
+ private PrimitiveType valueType;
private Class> dataType;
@@ -24,7 +24,7 @@ public class EnumSpecificationInfo implements EnumSpecification {
// private Map itemCodeMapping = new HashMap<>();
// private Map codeItemMapping = new HashMap<>();
- public EnumSpecificationInfo(ValueType valueType, int code, long version, String name, String description, Class> dataType) {
+ public EnumSpecificationInfo(PrimitiveType valueType, int code, long version, String name, String description, Class> dataType) {
this.valueType = valueType;
this.code = code;
this.version = version;
@@ -54,7 +54,7 @@ public class EnumSpecificationInfo implements EnumSpecification {
}
@Override
- public ValueType getValueType() {
+ public PrimitiveType getValueType() {
return this.valueType;
}
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java
index f0c57fb8..34e3cdf2 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/EnumValueConverter.java
@@ -1,14 +1,14 @@
package com.jd.blockchain.binaryproto.impl;
import com.jd.blockchain.binaryproto.DataContractException;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.utils.io.BytesSlice;
public class EnumValueConverter implements FixedValueConverter {
private Class> enumType;
- private ValueType codeType;
+ private PrimitiveType codeType;
private int[] values;
@@ -16,7 +16,7 @@ public class EnumValueConverter implements FixedValueConverter {
private FixedValueConverter valueConverter;
- public EnumValueConverter(Class> enumType, ValueType codeType, int[] values, Object[] constants, FixedValueConverter valueConverter) {
+ public EnumValueConverter(Class> enumType, PrimitiveType codeType, int[] values, Object[] constants, FixedValueConverter valueConverter) {
this.enumType = enumType;
this.values = values;
this.constants = constants;
diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java
index 6e8425bc..5a9c7c6d 100644
--- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java
+++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/impl/FieldSpecInfo.java
@@ -1,9 +1,9 @@
package com.jd.blockchain.binaryproto.impl;
import com.jd.blockchain.binaryproto.DataSpecification;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumSpecification;
import com.jd.blockchain.binaryproto.FieldSpec;
-import com.jd.blockchain.utils.ValueType;
public class FieldSpecInfo implements FieldSpec {
@@ -15,7 +15,7 @@ public class FieldSpecInfo implements FieldSpec {
private boolean repeatable;
- private ValueType primitiveType;
+ private PrimitiveType primitiveType;
private EnumSpecification enumSpec;
@@ -27,7 +27,7 @@ public class FieldSpecInfo implements FieldSpec {
private boolean isGenericContract = false;
- public FieldSpecInfo(int order, String name, String decription, ValueType primitiveType, boolean repeatable,
+ public FieldSpecInfo(int order, String name, String decription, PrimitiveType primitiveType, boolean repeatable,
int maxSize, Class> dataType) {
if (primitiveType == null) {
throw new IllegalArgumentException("primitiveType is null!");
@@ -71,7 +71,7 @@ public class FieldSpecInfo implements FieldSpec {
}
@Override
- public ValueType getPrimitiveType() {
+ public PrimitiveType getPrimitiveType() {
return primitiveType;
}
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java
index fba70646..b1395038 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/BinaryEncodingTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.assertTrue;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractException;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.utils.Bytes;
@@ -37,7 +37,7 @@ public class BinaryEncodingTest {
pd.setConfig(Bytes.fromString("Configuration of something."));
pd.setNetworkAddress(networkAddress);
- byte[] bytes = BinaryEncodingUtils.encode(pd, PrimitiveDatas.class);
+ byte[] bytes = BinaryProtocol.encode(pd, PrimitiveDatas.class);
int offset = 0;
int code = BytesUtils.toInt(bytes, offset);
offset += 12;
@@ -109,7 +109,7 @@ public class BinaryEncodingTest {
public void testEncoding_Null() {
DataContractRegistry.register(PrimitiveDatas.class);
- byte[] bytes = BinaryEncodingUtils.encode(null, PrimitiveDatas.class);
+ byte[] bytes = BinaryProtocol.encode(null, PrimitiveDatas.class);
int offset = 0;
int code = BytesUtils.toInt(bytes, offset);
offset += 12;// 暂不校验 version;
@@ -138,8 +138,8 @@ public class BinaryEncodingTest {
pd.setConfig(Bytes.fromString("Configuration of something."));
pd.setNetworkAddress(networkAddress);
- byte[] bytes = BinaryEncodingUtils.encode(pd, PrimitiveDatas.class);
- PrimitiveDatas decodeData = BinaryEncodingUtils.decode(bytes);
+ byte[] bytes = BinaryProtocol.encode(pd, PrimitiveDatas.class);
+ PrimitiveDatas decodeData = BinaryProtocol.decode(bytes);
assertEquals(pd.getId(), decodeData.getId());
assertEquals(pd.isEnable(), decodeData.isEnable());
assertEquals(pd.isBoy(), decodeData.isBoy());
@@ -163,7 +163,7 @@ public class BinaryEncodingTest {
EnumDatasImpl enumDatas = new EnumDatasImpl();
enumDatas.setLevel(EnumLevel.V1);
- byte[] bytes = BinaryEncodingUtils.encode(enumDatas, EnumDatas.class);
+ byte[] bytes = BinaryProtocol.encode(enumDatas, EnumDatas.class);
int offset = 0;
int code = BytesUtils.toInt(bytes, offset);
offset += 12;
@@ -186,8 +186,8 @@ public class BinaryEncodingTest {
EnumDatasImpl enumDatas = new EnumDatasImpl();
enumDatas.setLevel(EnumLevel.V1);
- byte[] bytes = BinaryEncodingUtils.encode(enumDatas, EnumDatas.class);
- EnumDatas decodeData = BinaryEncodingUtils.decode(bytes);
+ byte[] bytes = BinaryProtocol.encode(enumDatas, EnumDatas.class);
+ EnumDatas decodeData = BinaryProtocol.decode(bytes);
assertEquals(enumDatas.getLevel(), decodeData.getLevel());
}
@@ -215,7 +215,7 @@ public class BinaryEncodingTest {
refContractDatas.setPrimitiveDatas(primitiveDatas);
- byte[] bytes = BinaryEncodingUtils.encode(refContractDatas, RefContractDatas.class);
+ byte[] bytes = BinaryProtocol.encode(refContractDatas, RefContractDatas.class);
int offset = 0;
int code = BytesUtils.toInt(bytes, offset);
offset += 12;
@@ -248,7 +248,7 @@ public class BinaryEncodingTest {
RefContractDatasImpl refContractDatas = new RefContractDatasImpl();
- byte[] bytes = BinaryEncodingUtils.encode(refContractDatas, RefContractDatas.class);
+ byte[] bytes = BinaryProtocol.encode(refContractDatas, RefContractDatas.class);
int offset = 0;
int code = BytesUtils.toInt(bytes, offset);
offset += 12;
@@ -295,8 +295,8 @@ public class BinaryEncodingTest {
refContractDatas.setPrimitiveDatas(primitiveDatas);
- byte[] bytes = BinaryEncodingUtils.encode(refContractDatas, RefContractDatas.class);
- RefContractDatas decodeData = BinaryEncodingUtils.decode(bytes);
+ byte[] bytes = BinaryProtocol.encode(refContractDatas, RefContractDatas.class);
+ RefContractDatas decodeData = BinaryProtocol.decode(bytes);
assertEquals(refContractDatas.getPrimitive().getId(), decodeData.getPrimitive().getId());
assertEquals(refContractDatas.getPrimitive().isEnable(), decodeData.getPrimitive().isEnable());
@@ -329,7 +329,7 @@ public class BinaryEncodingTest {
operations[0] = subOperation;
genericRefContractDatas.setOperations(operations);
- byte[] bytes = BinaryEncodingUtils.encode(genericRefContractDatas, GenericRefContractDatas.class);
+ byte[] bytes = BinaryProtocol.encode(genericRefContractDatas, GenericRefContractDatas.class);
int offset = 0;
int code = BytesUtils.toInt(bytes, offset);
offset += 12;
@@ -391,9 +391,9 @@ public class BinaryEncodingTest {
operations[0] = subOperation;
genericRefContractDatas.setOperations(operations);
- byte[] bytes = BinaryEncodingUtils.encode(genericRefContractDatas, GenericRefContractDatas.class);
+ byte[] bytes = BinaryProtocol.encode(genericRefContractDatas, GenericRefContractDatas.class);
- GenericRefContractDatas decodeData = BinaryEncodingUtils.decode(bytes);
+ GenericRefContractDatas decodeData = BinaryProtocol.decode(bytes);
assertEquals("Jerry", ((SubOperation) (decodeData.getOperations()[0])).getUserName());
}
@@ -432,7 +432,7 @@ public class BinaryEncodingTest {
operations[0] = subOperation;
compositeDatas.setOperations(operations);
- byte[] bytes = BinaryEncodingUtils.encode(compositeDatas, CompositeDatas.class);
+ byte[] bytes = BinaryProtocol.encode(compositeDatas, CompositeDatas.class);
int offset = 0;
int code = BytesUtils.toInt(bytes, offset);
@@ -508,8 +508,8 @@ public class BinaryEncodingTest {
operations[0] = subOperation;
compositeDatas.setOperations(operations);
- byte[] bytes = BinaryEncodingUtils.encode(compositeDatas, CompositeDatas.class);
- CompositeDatas decodeData = BinaryEncodingUtils.decode(bytes);
+ byte[] bytes = BinaryProtocol.encode(compositeDatas, CompositeDatas.class);
+ CompositeDatas decodeData = BinaryProtocol.decode(bytes);
assertEquals(compositeDatas.isEnable(), decodeData.isEnable());
assertEquals(compositeDatas.getAge(), decodeData.getAge());
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java
index be60a558..b1c9c95e 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/CompositeDatas.java
@@ -2,8 +2,7 @@ package test.com.jd.blockchain.binaryproto;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
/**
* Created by zhangshuang3 on 2018/11/30.
@@ -11,7 +10,7 @@ import com.jd.blockchain.utils.ValueType;
@DataContract(code = 0xc, name = "CompositeDatas", description = "")
public interface CompositeDatas {
- @DataField(order = 1, primitiveType = ValueType.BOOLEAN)
+ @DataField(order = 1, primitiveType = PrimitiveType.BOOLEAN)
boolean isEnable();
@DataField(order = 2, refEnum = true)
@@ -23,7 +22,7 @@ public interface CompositeDatas {
@DataField(order=4, list = true, refContract=true, genericContract = true)
Operation[] getOperations();
- @DataField(order = 5, primitiveType = ValueType.INT16)
+ @DataField(order = 5, primitiveType = PrimitiveType.INT16)
short getAge();
}
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java
index a736e334..54c94f32 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/EnumLevel.java
@@ -1,8 +1,8 @@
package test.com.jd.blockchain.binaryproto;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumContract;
import com.jd.blockchain.binaryproto.EnumField;
-import com.jd.blockchain.utils.ValueType;
/**
* Created by zhangshuang3 on 2018/11/29.
@@ -14,7 +14,7 @@ public enum EnumLevel {
V2((byte) 2);
- @EnumField(type= ValueType.INT8)
+ @EnumField(type= PrimitiveType.INT8)
public final byte CODE;
public byte getCode() {
return CODE;
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java
index 2c17922c..428b74cf 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/FieldOrderConflictedDatas.java
@@ -2,8 +2,7 @@ package test.com.jd.blockchain.binaryproto;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
/**
* Created by zhangshuang3 on 2018/7/11.
@@ -11,22 +10,22 @@ import com.jd.blockchain.utils.ValueType;
@DataContract(code = 0x06, name = "Primitive", description = "")
public interface FieldOrderConflictedDatas {
- @DataField(order = 2, primitiveType = ValueType.BOOLEAN)
+ @DataField(order = 2, primitiveType = PrimitiveType.BOOLEAN)
boolean isEnable();
- @DataField(order = 3, primitiveType = ValueType.INT8)
+ @DataField(order = 3, primitiveType = PrimitiveType.INT8)
byte isBoy();
- @DataField(order = 7, primitiveType = ValueType.INT16)
+ @DataField(order = 7, primitiveType = PrimitiveType.INT16)
short getAge();
- @DataField(order = -1, primitiveType = ValueType.INT32)
+ @DataField(order = -1, primitiveType = PrimitiveType.INT32)
int getId();
- @DataField(order = 6, primitiveType = ValueType.TEXT)
+ @DataField(order = 6, primitiveType = PrimitiveType.TEXT)
String getName();
- @DataField(order = 7, primitiveType = ValueType.INT64)
+ @DataField(order = 7, primitiveType = PrimitiveType.INT64)
long getValue();
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java
index 774dd5c7..d257c612 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/GenericRefContractDatasImpl.java
@@ -1,8 +1,6 @@
package test.com.jd.blockchain.binaryproto;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
/**
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java
index f855785c..30848834 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatas.java
@@ -2,8 +2,8 @@ package test.com.jd.blockchain.binaryproto;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
import com.jd.blockchain.utils.net.NetworkAddress;
/**
@@ -12,37 +12,37 @@ import com.jd.blockchain.utils.net.NetworkAddress;
@DataContract(code = 0x05, name = "Primitive", description = "")
public interface PrimitiveDatas {
- @DataField(order = 2, primitiveType = ValueType.BOOLEAN)
+ @DataField(order = 2, primitiveType = PrimitiveType.BOOLEAN)
boolean isEnable();
- @DataField(order = 3, primitiveType = ValueType.INT8)
+ @DataField(order = 3, primitiveType = PrimitiveType.INT8)
byte isBoy();
- @DataField(order = 4, primitiveType = ValueType.INT16)
+ @DataField(order = 4, primitiveType = PrimitiveType.INT16)
short getAge();
- @DataField(order = -1, primitiveType = ValueType.INT32)
+ @DataField(order = -1, primitiveType = PrimitiveType.INT32)
int getId();
- @DataField(order = 6, primitiveType = ValueType.TEXT)
+ @DataField(order = 6, primitiveType = PrimitiveType.TEXT)
String getName();
- @DataField(order = 7, primitiveType = ValueType.INT64)
+ @DataField(order = 7, primitiveType = PrimitiveType.INT64)
long getValue();
- @DataField(order = 12, primitiveType = ValueType.BYTES)
+ @DataField(order = 12, primitiveType = PrimitiveType.BYTES)
byte[] getImage();
- @DataField(order = 100, primitiveType = ValueType.INT16)
+ @DataField(order = 100, primitiveType = PrimitiveType.INT16)
char getFlag();
- @DataField(order = 200, primitiveType = ValueType.BYTES)
+ @DataField(order = 200, primitiveType = PrimitiveType.BYTES)
Bytes getConfig();
- @DataField(order = 201, primitiveType = ValueType.BYTES)
+ @DataField(order = 201, primitiveType = PrimitiveType.BYTES)
Bytes getSetting();
- @DataField(order = 202, primitiveType = ValueType.BYTES)
+ @DataField(order = 202, primitiveType = PrimitiveType.BYTES)
NetworkAddress getNetworkAddr();
}
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java
index ec0f6a4b..b505fb34 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/PrimitiveDatasImpl.java
@@ -1,7 +1,5 @@
package test.com.jd.blockchain.binaryproto;
-import org.omg.CORBA.PUBLIC_MEMBER;
-
import com.jd.blockchain.utils.Bytes;
import com.jd.blockchain.utils.net.NetworkAddress;
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java
index 4bc61955..0c3d1947 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/RefContractDatas.java
@@ -2,7 +2,6 @@ package test.com.jd.blockchain.binaryproto;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.ValueType;
/**
* Created by zhangshuang3 on 2018/11/29.
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java
index a72a6077..6760bdcb 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/SubOperation.java
@@ -2,7 +2,7 @@ package test.com.jd.blockchain.binaryproto;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
/**
* Created by zhangshuang3 on 2018/11/29.
@@ -10,7 +10,7 @@ import com.jd.blockchain.utils.ValueType;
@DataContract(code = 0xa, name = "SubOperation", description = "")
public interface SubOperation extends Operation {
- @DataField(order=1, primitiveType = ValueType.TEXT)
+ @DataField(order=1, primitiveType = PrimitiveType.TEXT)
String getUserName();
}
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Address.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Address.java
deleted file mode 100644
index 013d414e..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Address.java
+++ /dev/null
@@ -1,16 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//
-//@DataContract(code=0x02, name="Address" , description="")
-//public interface Address {
-//
-// @DataField(order=1, primitiveType=ValueType.TEXT)
-// String getStreet();
-//
-// @DataField(order=2, primitiveType=ValueType.INT32)
-// int getNumber();
-//
-//}
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java
index 7e60715e..9e1ac6cc 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressCodeDuplicate.java
@@ -2,7 +2,7 @@ package test.com.jd.blockchain.binaryproto.contract;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
/**
* Created by zhangshuang3 on 2018/7/9.
@@ -10,10 +10,10 @@ import com.jd.blockchain.utils.ValueType;
@DataContract(code=0x02, name="Address" , description="")
public interface AddressCodeDuplicate {
- @DataField(order=1, primitiveType= ValueType.TEXT)
+ @DataField(order=1, primitiveType= PrimitiveType.TEXT)
String getStreet();
- @DataField(order=2, primitiveType=ValueType.INT32)
+ @DataField(order=2, primitiveType=PrimitiveType.INT32)
int getNumber();
}
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java
index cf23898f..f5b33e66 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/AddressOrderDuplicate.java
@@ -2,7 +2,7 @@ package test.com.jd.blockchain.binaryproto.contract;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
/**
* Created by zhangshuang3 on 2018/7/9.
@@ -10,10 +10,10 @@ import com.jd.blockchain.utils.ValueType;
@DataContract(code=0x03, name="Address" , description="")
public interface AddressOrderDuplicate {
- @DataField(order=1, primitiveType= ValueType.TEXT)
+ @DataField(order=1, primitiveType= PrimitiveType.TEXT)
String getStreet();
- @DataField(order=1, primitiveType=ValueType.INT32)
+ @DataField(order=1, primitiveType=PrimitiveType.INT32)
int getNumber();
}
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java
index 802cfb15..6eaf8c1d 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Array.java
@@ -2,7 +2,7 @@ package test.com.jd.blockchain.binaryproto.contract;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
/**
* Created by zhangshuang3 on 2018/7/11.
@@ -10,16 +10,16 @@ import com.jd.blockchain.utils.ValueType;
@DataContract(code=0x08, name="Array" , description="")
public interface Array {
- @DataField(order=1, primitiveType= ValueType.INT32, list=true)
+ @DataField(order=1, primitiveType= PrimitiveType.INT32, list=true)
int[] getScores();
- @DataField(order=2, primitiveType=ValueType.TEXT, list=true)
+ @DataField(order=2, primitiveType=PrimitiveType.TEXT, list=true)
String[] getFeatures();
- @DataField(order=3, primitiveType=ValueType.BYTES)
+ @DataField(order=3, primitiveType=PrimitiveType.BYTES)
byte[] getFamilyMemberAges();
- @DataField(order=4, primitiveType=ValueType.INT64, list=true)
+ @DataField(order=4, primitiveType=PrimitiveType.INT64, list=true)
long[] getFamilyMemberIds();
}
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/CryptoAlgorithm.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/CryptoAlgorithm.java
deleted file mode 100644
index d4900959..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/CryptoAlgorithm.java
+++ /dev/null
@@ -1,158 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.EnumContract;
-//import com.jd.blockchain.binaryproto.EnumField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//import com.jd.blockchain.crypto.CryptoAlgorithmType;
-//import my.utils.io.BytesUtils;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@EnumContract(code=0x0102)
-//public enum CryptoAlgorithm {
-//
-// // Hash 类;
-// // SHA_128(CryptoAlgorithmMask.HASH, (byte) 0x01, false, false),
-//
-// SHA_256(CryptoAlgorithmType.HASH, (byte) 0x01, false, false),
-//
-// RIPLE160(CryptoAlgorithmType.HASH, (byte) 0x02, false, false),
-//
-// SM3(CryptoAlgorithmType.HASH, (byte) 0x03, false, false),
-//
-// // 非对称签名/加密算法;
-//
-// /**
-// * RSA 签名算法;可签名,可加密;
-// */
-// RSA(CryptoAlgorithmType.ASYMMETRIC, (byte) 0x01, true, true),
-//
-// /**
-// * ED25519 签名算法;只用于签名,没有加密特性;
-// */
-// ED25519(CryptoAlgorithmType.ASYMMETRIC, (byte) 0x02, true, false),
-//
-// /**
-// * ECDSA 签名算法;只用于签名,没有加密特性;???
-// */
-// ECDSA(CryptoAlgorithmType.ASYMMETRIC, (byte) 0x03, true, false),
-//
-// /**
-// * 国密 SM2 算法;可签名,可加密;
-// */
-// SM2(CryptoAlgorithmType.ASYMMETRIC, (byte) 0x04, true, true),
-//
-// // 对称加密;
-// /**
-// * AES 算法;可加密;
-// */
-// AES(CryptoAlgorithmType.SYMMETRIC, (byte) 0x01, false, true),
-//
-// SM4(CryptoAlgorithmType.SYMMETRIC, (byte) 0x02, false, true),
-//
-// // 随机性;
-// /**
-// * ????? 一种随机数算法,待定;
-// */
-// JAVA_SECURE(CryptoAlgorithmType.RANDOM, (byte) 0x01, false, false);
-//
-// /**
-// * 密码算法的代号;
-// * 注:只占16位;
-// */
-// @EnumField(type = ValueType.INT8)
-// public final byte CODE;
-//
-// private final boolean signable;
-//
-// private final boolean encryptable;
-//
-// private CryptoAlgorithm(byte algType, byte algId, boolean signable, boolean encryptable) {
-// this.CODE = (byte) (algType | algId);
-// this.signable = signable;
-// this.encryptable = encryptable;
-// }
-//
-// /**
-// * 是否属于摘要算法;
-// *
-// * @return
-// */
-// public boolean isHash() {
-// return (CODE & CryptoAlgorithmType.HASH) == CryptoAlgorithmType.HASH;
-// }
-//
-// /**
-// * 是否属于非对称密码算法;
-// *
-// * @return
-// */
-// public boolean isAsymmetric() {
-// return (CODE & CryptoAlgorithmType.ASYMMETRIC) == CryptoAlgorithmType.ASYMMETRIC;
-// }
-//
-// /**
-// * 是否属于对称密码算法;
-// *
-// * @return
-// */
-// public boolean isSymmetric() {
-// return (CODE & CryptoAlgorithmType.SYMMETRIC) == CryptoAlgorithmType.SYMMETRIC;
-// }
-//
-// /**
-// * 是否属于随机数算法;
-// *
-// * @return
-// */
-// public boolean isRandom() {
-// return (CODE & CryptoAlgorithmType.RANDOM) == CryptoAlgorithmType.RANDOM;
-// }
-//
-// /**
-// * 是否支持签名操作;
-// *
-// * @return
-// */
-// public boolean isSignable() {
-// return signable;
-// }
-//
-// /**
-// * 是否支持加密操作;
-// *
-// * @return
-// */
-// public boolean isEncryptable() {
-// return encryptable;
-// }
-//
-// /**
-// * 返回指定编码对应的枚举实例;
-// *
-// * 如果不存在,则返回 null;
-// *
-// * @param code
-// * @return
-// */
-// public static CryptoAlgorithm valueOf(byte code) {
-// for (CryptoAlgorithm alg : CryptoAlgorithm.values()) {
-// if (alg.CODE == code) {
-// return alg;
-// }
-// }
-// throw new IllegalArgumentException("CryptoAlgorithm doesn't support enum code[" + code + "]!");
-// }
-//
-// // /**
-// // * @return
-// // */
-// // public byte[] toBytes() {
-// // byte[] bytes = BytesUtils.toBytes(CODE);
-// // byte[] result = new byte[BYTES_SIZE];
-// // System.arraycopy(bytes, 2, result, 0, 2);
-// // // TODO: 只返回最后2个字节;
-// // return result;
-// // }
-//}
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/CryptoSetting.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/CryptoSetting.java
deleted file mode 100644
index 35662d50..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/CryptoSetting.java
+++ /dev/null
@@ -1,41 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@DataContract(code=0x0d, name="CryptoSetting", description = "Crypto setting")
-//public interface CryptoSetting {
-//
-// /**
-// * 系统中使用的 Hash 算法;
-// *
-// * 对于历史数据,如果它未发生更改,则总是按照该数据产生时采用的算法进行校验,即使当时指定的Hash算法和当前的不同;
-// *
-// * 如果对数据进行了更新,则采用新的 Hash 算法来计算生成完整性证明;
-// *
-// * @return
-// */
-// @DataField(order=1, refEnum=true)
-// public HashAlgorithm getHashAlgorithm();
-//
-// @DataField(order=2, refEnum=true)
-// public CryptoAlgorithm getHashAlgorithm1();
-//
-// /**
-// * 当有完整性证明的数据被从持久化介质中加载时,是否对其进行完整性校验(重新计算 hash 比对是否一致);
-// *
-// * 如果为 true ,则自动进行校验,如果校验失败,会引发异常;
-// *
-// * 注意:开启此选项将对性能会产生负面影响,因此使用者需要在性能和数据安全性之间做出权衡;
-// *
-// * @return
-// */
-// @DataField(order=3, primitiveType= ValueType.BOOLEAN)
-// public boolean getAutoVerifyHash();//func name is getxxxxx type
-//
-//}
-//
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/HashAlgorithm.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/HashAlgorithm.java
deleted file mode 100644
index 7f8296ff..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/HashAlgorithm.java
+++ /dev/null
@@ -1,50 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.EnumContract;
-//import com.jd.blockchain.binaryproto.EnumField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@EnumContract(code=0x0101)
-//public enum HashAlgorithm {
-//
-// RIPE160((byte) 1),
-//
-// SHA256((byte) 2),
-//
-// SM3((byte) 4);
-//
-// @EnumField(type = ValueType.INT8)
-// public final byte CODE;
-//
-// private HashAlgorithm(byte algorithm) {
-// CODE = algorithm;
-// }
-//
-// public byte getAlgorithm() {
-// return CODE;
-// }
-//
-// public static HashAlgorithm valueOf(byte algorithm) {
-// for (HashAlgorithm hashAlgorithm : HashAlgorithm.values()) {
-// if (hashAlgorithm.CODE == algorithm) {
-// return hashAlgorithm;
-// }
-// }
-// throw new IllegalArgumentException("Unsupported hash algorithm [" + algorithm + "]!");
-// }
-//
-// public static void checkHashAlgorithm(HashAlgorithm algorithm) {
-// switch (algorithm) {
-// case RIPE160:
-// break;
-// case SHA256:
-// break;
-// default:
-// throw new IllegalArgumentException("Unsupported hash algorithm [" + algorithm + "]!");
-// }
-// }
-//}
-//
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerBlock.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerBlock.java
deleted file mode 100644
index 74e206be..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerBlock.java
+++ /dev/null
@@ -1,28 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//import com.jd.blockchain.crypto.hash.HashDigest;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@DataContract(code=0x12, name="LedgerBlock", description ="LedgerBlock")
-//public interface LedgerBlock extends LedgerDataSnapshot{
-//
-// @DataField(order=1, refHashDigest=true)
-// HashDigest getHash();
-//
-// @DataField(order=2, refHashDigest=true)
-// HashDigest getPreviousHash();
-//
-// @DataField(order=3, refHashDigest=true)
-// HashDigest getLedgerHash();
-//
-// @DataField(order=4, primitiveType=ValueType.INT64)
-// long getHeight();
-//
-// @DataField(order=5, refHashDigest=true)
-// HashDigest getTransactionSetHash();
-//}
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerDataSnapshot.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerDataSnapshot.java
deleted file mode 100644
index 683e13f4..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerDataSnapshot.java
+++ /dev/null
@@ -1,34 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.crypto.hash.HashDigest;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@DataContract(code=0x11, name="LedgerDataSnapshot", description ="LedgerDataSnapshot")
-//public interface LedgerDataSnapshot {
-//
-// @DataField(order=1, refHashDigest=true)
-// HashDigest getAdminAccountHash();
-//
-// @DataField(order=2, refHashDigest=true)
-// HashDigest getUserAccountSetHash();
-//
-// @DataField(order=3, refHashDigest=true)
-// HashDigest getUserPrivilegeHash();
-//
-// @DataField(order=4, refHashDigest=true)
-// HashDigest getDataAccountSetHash();
-//
-// @DataField(order=5, refHashDigest=true)
-// HashDigest getDataPrivilegeHash();
-//
-// @DataField(order=6, refHashDigest=true)
-// HashDigest getContractAccountSetHash();
-//
-// @DataField(order=7, refHashDigest=true)
-// HashDigest getContractPrivilegeHash();
-//
-//}
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerMetadata.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerMetadata.java
deleted file mode 100644
index d40babdf..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerMetadata.java
+++ /dev/null
@@ -1,25 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@DataContract(code=0x0b, name="LedgerMetadata", description = "Ledger meta data")
-//public interface LedgerMetadata {
-//
-// @DataField(order=1, primitiveType= ValueType.INT8, list=true)
-// byte[] getSeed();
-//
-// @DataField(order = 2, refContract=true)
-// LedgerSetting getSetting();
-//
-// @DataField(order=3, primitiveType=ValueType.INT8, list=true)
-// byte[] getPrivilegesHash();
-//
-// @DataField(order=4, primitiveType=ValueType.INT8, list=true)
-// byte[] getParticipantsHash();
-//
-//}
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerSetting.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerSetting.java
deleted file mode 100644
index 6f2f383b..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/LedgerSetting.java
+++ /dev/null
@@ -1,21 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@DataContract(code=0x0c, name="LedgerSetting", description = "Ledger setting")
-//public interface LedgerSetting {
-//
-// //@DataField(order=1, refContract=true)
-// //ConsensusSetting getConsensusSetting();
-//
-// @DataField(order=2, refContract=true)
-// CryptoSetting getCryptoSetting();
-//
-// @DataField(order=3, refContract=true)
-// PrivilegeModelSetting getPrivilegesModelSetting();
-//
-//}
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java
index 7b74768c..d7e1c676 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Level.java
@@ -1,8 +1,8 @@
package test.com.jd.blockchain.binaryproto.contract;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumContract;
import com.jd.blockchain.binaryproto.EnumField;
-import com.jd.blockchain.utils.ValueType;
@EnumContract(code=0x0100)
public enum Level {
@@ -11,7 +11,7 @@ public enum Level {
V2((byte) 2);
- @EnumField(type=ValueType.INT8)
+ @EnumField(type=PrimitiveType.INT8)
public final byte CODE;
public byte getCode() {
return CODE;
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Privilege.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Privilege.java
deleted file mode 100644
index 3b1d53de..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Privilege.java
+++ /dev/null
@@ -1,18 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-//
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//
-///**
-// * Created by zhangshuang3 on 2018/7/30.
-// */
-//@DataContract(code=0x10, name="Privilege", description ="Privilege")
-//public interface Privilege {
-//
-// //SortedSet getOpCodes(); implement later
-//
-// @DataField(order=2, primitiveType= ValueType.INT64)
-// long getVersion();
-//
-//}
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java
index 65df415b..52586c94 100644
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java
+++ b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/PrivilegeModelSetting.java
@@ -2,7 +2,7 @@ package test.com.jd.blockchain.binaryproto.contract;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
/**
* Created by zhangshuang3 on 2018/7/30.
@@ -10,7 +10,7 @@ import com.jd.blockchain.utils.ValueType;
@DataContract(code=0x0f, name="PrivilegeModelSetting", description ="Privilege Model setting")
public interface PrivilegeModelSetting {
- @DataField(order=1, primitiveType= ValueType.INT64)
+ @DataField(order=1, primitiveType= PrimitiveType.INT64)
long getLatestVersion();
//@DataField(order=2, refContract=true)
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/RefContract.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/RefContract.java
deleted file mode 100644
index 0decffb1..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/RefContract.java
+++ /dev/null
@@ -1,20 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-
-/**
- * Created by zhangshuang3 on 2018/7/11.
- */
-/*
-@DataContract(code=0x07, name="RefContract" , description="")
-public interface RefContract {
-
- @DataField(order=1, refContract=true)
- Address getAddress();
-
- @DataField(order=2, refContract=true)
- Address getAddress1();
-
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Student.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Student.java
deleted file mode 100644
index 29d6dae5..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/Student.java
+++ /dev/null
@@ -1,41 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-
-/*
-@DataContract(code=0x01, name="测试数据契约1", description = "用于测试的数据契约")
-public interface Student {
-
- @DataField(order=1, primitiveType=ValueType.INT32)
- int getId();
-
- @DataField(order=2, primitiveType=ValueType.INT8)
- byte getFamilyMemberNum();
-
- @DataField(order=3, primitiveType=ValueType.TEXT)
- String getName();
-
- @DataField(order=4, primitiveType=ValueType.INT16)
- short getAge();
-
- @DataField(order=5, refEnum=true)
- Level getLevel();
-
- @DataField(order=6, refContract=true)
- Address getAddress();
-
- @DataField(order=7, primitiveType=ValueType.INT32, list=true)
- int[] getScores();
-
- @DataField(order=8, primitiveType=ValueType.TEXT, list=true)
- String[] getFeatures();
-
- @DataField(order=9, primitiveType=ValueType.INT8, list=true)
- byte[] getFamilyMemberAges();
-
- @DataField(order=10, primitiveType=ValueType.INT64, list=true)
- long[] getFamilyMemberIds();
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/StudentInvert.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/StudentInvert.java
deleted file mode 100644
index b82f23c1..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/StudentInvert.java
+++ /dev/null
@@ -1,44 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-
-/**
- * Created by zhangshuang3 on 2018/7/9.
- */
-/*
-@DataContract(code=0x04, name="测试数据契约1", description = "用于测试的数据契约")
-public interface StudentInvert {
-
- @DataField(order=10, primitiveType=ValueType.INT64, list=true)
- long[] getFamilyMemberIds();
-
- @DataField(order=9, primitiveType=ValueType.INT8, list=true)
- byte[] getFamilyMemberAges();
-
- @DataField(order=8, primitiveType=ValueType.TEXT, list=true)
- String[] getFeatures();
-
- @DataField(order=7, primitiveType=ValueType.INT32, list=true)
- int[] getScores();
-
- @DataField(order=6, refContract=true)
- Address getAddress();
-
- @DataField(order=5, refEnum=true)
- Level getLevel();
-
- @DataField(order=4, primitiveType=ValueType.INT16)
- short getAge();
-
- @DataField(order=3, primitiveType=ValueType.TEXT)
- String getName();
-
- @DataField(order=2, primitiveType=ValueType.INT8)
- byte getFamilyMemberNum();
-
- @DataField(order=1, primitiveType= ValueType.INT32)
- int getId();
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/User.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/User.java
deleted file mode 100644
index fa6adef1..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/User.java
+++ /dev/null
@@ -1,31 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract;
-
-//import com.jd.blockchain.binaryproto.DataContract;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.ValueType;
-//import com.jd.blockchain.crypto.asymmetric.PubKey;
-//import my.utils.io.ByteArray;
-
-/**
- * Created by zhangshuang3 on 2018/7/25.
- */
-/*
-@DataContract(code=0x09, name="UserAccount", description = "用户账户")
-public interface User {
-
- @DataField(order=1, primitiveType= ValueType.TEXT)
- String getAddress();
-
- @DataField(order=2, refPubKey = true)
- PubKey getPubKey();
-
- @DataField(order=3, refPubKey = true)
- PubKey getDataPubKey();
-
- @DataField(order=4, primitiveType = ValueType.BYTES)
- ByteArray getDataHash();
-
- @DataField(order=5, primitiveType = ValueType.BYTES)
- ByteArray getPrivilegeHash();
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/AddressImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/AddressImpl.java
deleted file mode 100644
index c2af3153..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/AddressImpl.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-package test.com.jd.blockchain.binaryproto.contract.impl;
-
-import test.com.jd.blockchain.binaryproto.contract.Address;
-
-public class AddressImpl implements Address {
- private String street;
- private int number;
-
- @Override
- public String getStreet() {
- // TODO Auto-generated method stub
- return this.street;
- }
- public void setStreet(String street) {
- this.street = street;
- }
-
- @Override
- public int getNumber() {
- // TODO Auto-generated method stub
- return this.number;
- }
- public void setNumber(int number) {
- this.number = number;
- }
-
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/CryptoSettingImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/CryptoSettingImpl.java
deleted file mode 100644
index 2fe4cb23..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/CryptoSettingImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract.impl;
-
-//import test.com.jd.blockchain.binaryproto.contract.CryptoAlgorithm;
-//import test.com.jd.blockchain.binaryproto.contract.CryptoSetting;
-//import test.com.jd.blockchain.binaryproto.contract.HashAlgorithm;
-
-/**
- * Created by zhangshuang3 on 2018/7/30.
- */
-/*
-public class CryptoSettingImpl implements CryptoSetting {
- private HashAlgorithm hashAlgorithm;
- private CryptoAlgorithm cryptoAlgorithm;
- private boolean isAuto;
-
- @Override
- public HashAlgorithm getHashAlgorithm() {
- return this.hashAlgorithm;
- }
- public void setHashAlgorithm(HashAlgorithm hashAlgorithm) {
- this.hashAlgorithm = hashAlgorithm;
- }
-
- @Override
- public CryptoAlgorithm getHashAlgorithm1() {
- return this.cryptoAlgorithm;
- }
- public void setHashAlgorithm1(CryptoAlgorithm cryptoAlgorithm) {
- this.cryptoAlgorithm = cryptoAlgorithm;
- }
- @Override
- public boolean getAutoVerifyHash() {
- return isAuto;
- }
- public void setAutoVerifyHash(boolean isAuto) {
- this.isAuto = isAuto;
- }
-
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerBlockImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerBlockImpl.java
deleted file mode 100644
index 803b4b5a..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerBlockImpl.java
+++ /dev/null
@@ -1,147 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract.impl;
-
-//import com.jd.blockchain.binaryproto.DConstructor;
-//import com.jd.blockchain.binaryproto.DataField;
-//import com.jd.blockchain.binaryproto.FieldSetter;
-//import com.jd.blockchain.crypto.hash.HashDigest;
-//import test.com.jd.blockchain.binaryproto.contract.Address;
-//import test.com.jd.blockchain.binaryproto.contract.LedgerBlock;
-
-/**
- * Created by zhangshuang3 on 2018/7/30.
- */
-/*
-public class LedgerBlockImpl implements LedgerBlock {
-
- private HashDigest hash;
-
- private long height;
-
- private HashDigest ledgerHash;
-
- private HashDigest previousHash;
-
- private HashDigest adminAccountHash;
-
- private HashDigest userAccountSetHash;
-
- private HashDigest userPrivilegeHash;
-
- private HashDigest dataAccountSetHash;
-
- private HashDigest dataPrivilegeHash;
-
- private HashDigest contractAccountSetHash;
-
- private HashDigest contractPrivilegeHash;
-
- private HashDigest transactionSetHash;
-
- public void setAdminAccountHash(HashDigest adminAccountHash) {
- this.adminAccountHash = adminAccountHash;
- }
-
- public void setUserAccountSetHash(HashDigest userAccountSetHash) {
- this.userAccountSetHash = userAccountSetHash;
- }
-
- public void setUserPrivilegeHash(HashDigest userPrivilegeHash) {
- this.userPrivilegeHash = userPrivilegeHash;
- }
-
- public void setDataAccountSetHash(HashDigest dataAccountSetHash) {
- this.dataAccountSetHash = dataAccountSetHash;
- }
-
- public void setDataPrivilegeHash(HashDigest dataPrivilegeHash) {
- this.dataPrivilegeHash = dataPrivilegeHash;
- }
-
- public void setContractAccountSetHash(HashDigest contractAccountSetHash) {
- this.contractAccountSetHash = contractAccountSetHash;
- }
-
- public void setContractPrivilegeHash(HashDigest contractPrivilegeHash) {
- this.contractPrivilegeHash = contractPrivilegeHash;
- }
-
- public void setTransactionSetHash(HashDigest transactionSetHash) {
- this.transactionSetHash = transactionSetHash;
- }
-
- public LedgerBlockImpl() {
- }
-
- @DConstructor(name="LedgerBlockImpl")
- public LedgerBlockImpl(@FieldSetter(name="getHeight", type="long") long height, @FieldSetter(name="getLedgerHash", type="HashDigest") HashDigest ledgerHash, @FieldSetter(name="getPreviousHash", type="HashDigest") HashDigest previousHash) {
- this.height = height;
- this.ledgerHash = ledgerHash;
- this.previousHash = previousHash;
- }
-
- @Override
- public HashDigest getHash() {
- return hash;
- }
-
- @Override
- public HashDigest getPreviousHash() {
- return previousHash;
- }
-
- @Override
- public HashDigest getLedgerHash() {
- return ledgerHash;
- }
-
- @Override
- public long getHeight() {
- return height;
- }
-
- @Override
- public HashDigest getAdminAccountHash() {
- return adminAccountHash;
- }
-
- @Override
- public HashDigest getUserAccountSetHash() {
- return userAccountSetHash;
- }
-
- @Override
- public HashDigest getUserPrivilegeHash() {
- return userPrivilegeHash;
- }
-
- @Override
- public HashDigest getDataAccountSetHash() {
- return dataAccountSetHash;
- }
-
- @Override
- public HashDigest getDataPrivilegeHash() {
- return dataPrivilegeHash;
- }
-
- @Override
- public HashDigest getContractAccountSetHash() {
- return contractAccountSetHash;
- }
-
- @Override
- public HashDigest getContractPrivilegeHash() {
- return contractPrivilegeHash;
- }
-
- @Override
- public HashDigest getTransactionSetHash() {
- return transactionSetHash;
- }
-
- public void setHash(HashDigest blockHash) {
- this.hash = blockHash;
- }
-
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerMetadataImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerMetadataImpl.java
deleted file mode 100644
index 7267377b..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerMetadataImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract.impl;
-
-//import test.com.jd.blockchain.binaryproto.contract.*;
-//import test.com.jd.blockchain.binaryproto.contract.LedgerMetadata;
-//import test.com.jd.blockchain.binaryproto.contract.LedgerSetting;
-
-/**
- * Created by zhangshuang3 on 2018/7/30.
- */
-/*
-public class LedgerMetadataImpl implements LedgerMetadata {
- private byte[] seed;
-
- private LedgerSetting setting;
-
- private byte[] privilegesHash;
-
- private byte[] participantsHash;
-
- @Override
- public byte[] getSeed() {
- return seed;
- }
-
- @Override
- public LedgerSetting getSetting() {
- return setting;
- }
-
- @Override
- public byte[] getPrivilegesHash() {
- return privilegesHash;
- }
-
- @Override
- public byte[] getParticipantsHash() {
- return participantsHash;
- }
-
- public void setSeed(byte[] seed) {
- this.seed = seed;
- }
-
- public void setSetting(LedgerSetting setting) {
- this.setting = setting;
- }
-
- public void setPrivilegesHash(byte[] privilegesHash) {
- this.privilegesHash = privilegesHash;
- }
-
- public void setParticipantsHash(byte[] participantsHash) {
- this.participantsHash = participantsHash;
- }
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerSettingImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerSettingImpl.java
deleted file mode 100644
index 1af4b7a5..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/LedgerSettingImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract.impl;
-
-//import test.com.jd.blockchain.binaryproto.contract.LedgerSetting;
-//import test.com.jd.blockchain.binaryproto.contract.CryptoSetting;
-//import test.com.jd.blockchain.binaryproto.contract.PrivilegeModelSetting;
-
-/**
- * Created by zhangshuang3 on 2018/7/30.
- */
-/*
-public class LedgerSettingImpl implements LedgerSetting {
- private CryptoSetting cryptoSetting;
- private PrivilegeModelSetting privilegeModelSetting;
-
- @Override
- public CryptoSetting getCryptoSetting() {
- return this.cryptoSetting;
- }
- public void setCryptoSetting(CryptoSetting cryptoSetting) {
- this.cryptoSetting = cryptoSetting;
- }
- @Override
- public PrivilegeModelSetting getPrivilegesModelSetting() {
- return this.privilegeModelSetting;
- }
- public void setPrivilegesModelSetting(PrivilegeModelSetting privilegeModelSetting) {
- this.privilegeModelSetting = privilegeModelSetting;
- }
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/RefContractImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/RefContractImpl.java
deleted file mode 100644
index 700cbf66..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/RefContractImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract.impl;
-
-//import test.com.jd.blockchain.binaryproto.contract.Address;
-//import test.com.jd.blockchain.binaryproto.contract.RefContract;
-
-/**
- * Created by zhangshuang3 on 2018/7/11.
- */
-/*
-public class RefContractImpl implements RefContract {
- private Address address;
- private Address address1;
-
- @Override
- public Address getAddress() {
- // TODO Auto-generated method stub
- return this.address;
- }
- public void setAddress(Address address) {
- this.address = address;
- }
-
- @Override
- public Address getAddress1() {
- // TODO Auto-generated method stub
- return this.address1;
- }
- public void setAddress1(Address address) {
- this.address1 = address;
- }
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/StudentImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/StudentImpl.java
deleted file mode 100644
index 5b8cfacd..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/StudentImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract.impl;
-
-//import test.com.jd.blockchain.binaryproto.contract.Address;
-//import test.com.jd.blockchain.binaryproto.contract.Level;
-//import test.com.jd.blockchain.binaryproto.contract.Student;
-//import test.com.jd.blockchain.binaryproto.contract.StudentInvert;
-
-/*
-public class StudentImpl implements Student,StudentInvert {
-
- private int id;
- private short age;
- private String name;
- private Level level;
- private Address address;
- private int[] scores;
- private String[] features;
- private byte familyMemberNum;
- private byte[] familyMemberAges;
- private long[] familyMemberIds;
-
-
- @Override
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- @Override
- public String getName() {
- // TODO Auto-generated method stub
- return this.name;
- }
- public void setName(String name) {
- this.name = name;
- }
-
- @Override
- public Level getLevel() {
- // TODO Auto-generated method stub
- return this.level;
- }
- public void setLevel(Level level) {
- this.level = level;
- }
-
- @Override
- public Address getAddress() {
- // TODO Auto-generated method stub
- return this.address;
- }
- public void setAddress(Address address) {
- this.address = address;
- }
-
- public short getAge() {
- return age;
- }
-
- public void setAge(short age) {
- this.age = age;
- }
-
- @Override
- public int[] getScores() {
- // TODO Auto-generated method stub
- return this.scores;
- }
- public void setScores(int[] scores) {
- this.scores = scores;
- }
-
- @Override
- public String[] getFeatures() {
- return this.features;
- }
- public void setFeatures(String[] features) {
- this.features = features;
- }
-
- @Override
- public byte getFamilyMemberNum() {
- return this.familyMemberNum;
- }
- public void setFamilyMemberNum(byte familyMemberNum) {
- this.familyMemberNum = familyMemberNum;
- }
-
- @Override
- public byte[] getFamilyMemberAges() {
- return this.familyMemberAges;
- }
- public void setFamilyMemberAges(byte[] familyMemberAge) {
- this.familyMemberAges = familyMemberAge;
- }
-
- @Override
- public long[] getFamilyMemberIds() {
- return this.familyMemberIds;
- }
- public void setFamilyMemberIds(long[] familyMemberId) {
- this.familyMemberIds = familyMemberId;
- }
-}
-*/
\ No newline at end of file
diff --git a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/UserImpl.java b/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/UserImpl.java
deleted file mode 100644
index 09fb3cf1..00000000
--- a/source/binary-proto/src/test/java/test/com/jd/blockchain/binaryproto/contract/impl/UserImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-//package test.com.jd.blockchain.binaryproto.contract.impl;
-
-//import com.jd.blockchain.binaryproto.DConstructor;
-//import com.jd.blockchain.binaryproto.FieldSetter;
-//import com.jd.blockchain.crypto.asymmetric.PubKey;
-//import my.utils.io.ByteArray;
-//import test.com.jd.blockchain.binaryproto.contract.User;
-
-/**
- * Created by zhangshuang3 on 2018/7/24.
- */
-/*
-public class UserImpl implements User {
- String address;
- PubKey pubKey;
- PubKey dataPubKey;
- ByteArray dataHash;
- ByteArray privHash;
-
- @DConstructor(name = "UserImpl")
- public UserImpl(@FieldSetter(name = "getAddress", type = "String") String address, @FieldSetter(name = "getPubKey",type = "PubKey") PubKey pubKey, @FieldSetter(name = "getDataPubKey",type = "PubKey") PubKey dataPubKey,
- @FieldSetter(name = "getDataHash", type = "byte[]") byte[] dataHash, @FieldSetter(name = "getPrivilegeHash", type = "byte[]") byte[] privHash) {
- this.address = address;
- this.pubKey = pubKey;
- this.dataPubKey = dataPubKey;
- this.dataHash = ByteArray.wrap(dataHash);
- this.privHash = ByteArray.wrap(privHash);
- }
-
- @Override
- public String getAddress() {
- return address;
- }
- @Override
- public PubKey getPubKey() {
- return pubKey;
- }
- @Override
- public PubKey getDataPubKey() {
- return dataPubKey;
- }
- @Override
- public ByteArray getDataHash() {
- return dataHash;
- }
- @Override
- public ByteArray getPrivilegeHash() {
- return privHash;
- }
-}
-*/
\ No newline at end of file
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java
index 354180a8..2838542a 100644
--- a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java
+++ b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartClientIncomingSettings.java
@@ -2,21 +2,21 @@ package com.jd.blockchain.consensus.bftsmart;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.consensus.ClientIncomingSettings;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code = TypeCodes.CONSENSUS_BFTSMART_CLI_INCOMING_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_BFTSMART_CLI_INCOMING_SETTINGS)
public interface BftsmartClientIncomingSettings extends ClientIncomingSettings {
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
byte[] getTopology();
- @DataField(order = 2, primitiveType = ValueType.BYTES)
+ @DataField(order = 2, primitiveType = PrimitiveType.BYTES)
byte[] getTomConfig();
- @DataField(order = 3, primitiveType=ValueType.BYTES)
+ @DataField(order = 3, primitiveType=PrimitiveType.BYTES)
PubKey getPubKey();
}
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java
index e99ea811..675344da 100644
--- a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java
+++ b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartCommitBlockSettings.java
@@ -2,16 +2,16 @@ package com.jd.blockchain.consensus.bftsmart;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code = TypeCodes.CONSENSUS_BFTSMART_BLOCK_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_BFTSMART_BLOCK_SETTINGS)
public interface BftsmartCommitBlockSettings {
- @DataField(order = 0, primitiveType = ValueType.INT32)
+ @DataField(order = 0, primitiveType = PrimitiveType.INT32)
int getTxSizePerBlock();
- @DataField(order = 1, primitiveType = ValueType.INT64)
+ @DataField(order = 1, primitiveType = PrimitiveType.INT64)
long getMaxDelayMilliSecondsPerBlock();
}
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java
index 8b6fa451..f4e24cf5 100644
--- a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java
+++ b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartConsensusSettings.java
@@ -2,16 +2,16 @@ package com.jd.blockchain.consensus.bftsmart;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.consensus.ConsensusSettings;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.utils.Property;
-import com.jd.blockchain.utils.ValueType;
import com.jd.blockchain.utils.serialize.binary.BinarySerializeUtils;
-@DataContract(code = TypeCodes.CONSENSUS_BFTSMART_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_BFTSMART_SETTINGS)
public interface BftsmartConsensusSettings extends ConsensusSettings {
- @DataField(order = 1, primitiveType = ValueType.BYTES, list=true)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES, list=true)
Property[] getSystemConfigs();
@DataField(order = 2, refContract = true)
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java
index e1595626..a7158b68 100644
--- a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java
+++ b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartNodeSettings.java
@@ -2,13 +2,13 @@ package com.jd.blockchain.consensus.bftsmart;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.consensus.NodeSettings;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
-import com.jd.blockchain.utils.ValueType;
import com.jd.blockchain.utils.net.NetworkAddress;
-@DataContract(code = TypeCodes.CONSENSUS_BFTSMART_NODE_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_BFTSMART_NODE_SETTINGS)
public interface BftsmartNodeSettings extends NodeSettings {
/**
@@ -31,7 +31,7 @@ public interface BftsmartNodeSettings extends NodeSettings {
*
* @return
*/
- @DataField(order = 2, primitiveType = ValueType.INT32)
+ @DataField(order = 2, primitiveType = PrimitiveType.INT32)
int getId();
/**
@@ -39,7 +39,7 @@ public interface BftsmartNodeSettings extends NodeSettings {
*
* @return
*/
- @DataField(order = 3, primitiveType = ValueType.BYTES)
+ @DataField(order = 3, primitiveType = PrimitiveType.BYTES)
NetworkAddress getNetworkAddress();
}
diff --git a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java
index 45be9423..a3e345ec 100644
--- a/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java
+++ b/source/consensus/consensus-bftsmart/src/main/java/com/jd/blockchain/consensus/bftsmart/BftsmartSettingsFactory.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.consensus.bftsmart;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.consensus.*;
import com.jd.blockchain.utils.io.BytesEncoder;
@@ -40,14 +40,14 @@ public class BftsmartSettingsFactory implements SettingsFactory {
@Override
public byte[] encode(ConsensusSettings data) {
if (data instanceof BftsmartConsensusSettings) {
- return BinaryEncodingUtils.encode(data, BftsmartConsensusSettings.class);
+ return BinaryProtocol.encode(data, BftsmartConsensusSettings.class);
}
throw new IllegalArgumentException("Settings data isn't supported! Accept BftsmartConsensusSettings only!");
}
@Override
public ConsensusSettings decode(byte[] bytes) {
- return BinaryEncodingUtils.decodeAs(bytes, BftsmartConsensusSettings.class);
+ return BinaryProtocol.decodeAs(bytes, BftsmartConsensusSettings.class);
}
}
@@ -57,14 +57,14 @@ public class BftsmartSettingsFactory implements SettingsFactory {
@Override
public byte[] encode(ClientIncomingSettings data) {
if (data instanceof BftsmartClientIncomingSettings) {
- return BinaryEncodingUtils.encode(data, BftsmartClientIncomingSettings.class);
+ return BinaryProtocol.encode(data, BftsmartClientIncomingSettings.class);
}
throw new IllegalArgumentException("Settings data isn't supported! Accept BftsmartClientIncomingSettings only!");
}
@Override
public ClientIncomingSettings decode(byte[] bytes) {
- return BinaryEncodingUtils.decodeAs(bytes, BftsmartClientIncomingSettings.class);
+ return BinaryProtocol.decodeAs(bytes, BftsmartClientIncomingSettings.class);
}
}
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java
index d835c09e..99b3b9a3 100644
--- a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java
+++ b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentification.java
@@ -2,10 +2,10 @@ package com.jd.blockchain.consensus;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
import com.jd.blockchain.crypto.SignatureDigest;
-import com.jd.blockchain.utils.ValueType;
/**
* 客户端的身份证明;
@@ -13,7 +13,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.CLIENT_IDENTIFICATION)
+@DataContract(code = DataCodes.CLIENT_IDENTIFICATION)
public interface ClientIdentification {
/**
@@ -21,7 +21,7 @@ public interface ClientIdentification {
*
* @return
*/
- @DataField(order = 0, primitiveType = ValueType.BYTES)
+ @DataField(order = 0, primitiveType = PrimitiveType.BYTES)
byte[] getIdentityInfo();
/**
@@ -29,7 +29,7 @@ public interface ClientIdentification {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
PubKey getPubKey();
/**
@@ -37,7 +37,7 @@ public interface ClientIdentification {
*
* @return
*/
- @DataField(order = 2, primitiveType = ValueType.BYTES)
+ @DataField(order = 2, primitiveType = PrimitiveType.BYTES)
SignatureDigest getSignature();
/**
@@ -45,6 +45,6 @@ public interface ClientIdentification {
*
* @return
*/
- @DataField(order = 3, primitiveType = ValueType.TEXT)
+ @DataField(order = 3, primitiveType = PrimitiveType.TEXT)
String getProviderName();
}
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java
index 8d23135a..7fe4aa92 100644
--- a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java
+++ b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIdentifications.java
@@ -10,7 +10,7 @@ package com.jd.blockchain.consensus;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
/**
*
@@ -18,7 +18,7 @@ import com.jd.blockchain.consts.TypeCodes;
* @create 2018/12/19
* @since 1.0.0
*/
-@DataContract(code = TypeCodes.CLIENT_IDENTIFICATIONS)
+@DataContract(code = DataCodes.CLIENT_IDENTIFICATIONS)
public interface ClientIdentifications {
@DataField(order = 0, list = true, refContract = true, genericContract = true)
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java
index 3585c613..a879a54a 100644
--- a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java
+++ b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ClientIncomingSettings.java
@@ -2,8 +2,8 @@ package com.jd.blockchain.consensus;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
/**
* 共识网络的客户接入参数;
@@ -11,7 +11,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.CONSENSUS_CLI_INCOMING_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_CLI_INCOMING_SETTINGS)
public interface ClientIncomingSettings {
/**
@@ -19,7 +19,7 @@ public interface ClientIncomingSettings {
*
* @return
*/
- @DataField(order = 0, primitiveType = ValueType.INT32)
+ @DataField(order = 0, primitiveType = PrimitiveType.INT32)
int getClientId();
/**
@@ -27,7 +27,7 @@ public interface ClientIncomingSettings {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.TEXT)
+ @DataField(order = 1, primitiveType = PrimitiveType.TEXT)
String getProviderName();
/**
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java
index b7849625..b75996f5 100644
--- a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java
+++ b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/ConsensusSettings.java
@@ -2,7 +2,7 @@ package com.jd.blockchain.consensus;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
/**
* 共识网络的配置参数;
@@ -10,7 +10,7 @@ import com.jd.blockchain.consts.TypeCodes;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.CONSENSUS_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_SETTINGS)
public interface ConsensusSettings {
/**
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java
index a0c7ee66..1c81163f 100644
--- a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java
+++ b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/NodeSettings.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.consensus;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
-import com.jd.blockchain.utils.ValueType;
/**
* 节点的配置参数;
@@ -12,7 +12,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code=TypeCodes.CONSENSUS_NODE_SETTINGS)
+@DataContract(code=DataCodes.CONSENSUS_NODE_SETTINGS)
public interface NodeSettings {
/**
@@ -22,7 +22,7 @@ public interface NodeSettings {
*
* @return
*/
- @DataField(order=0, primitiveType=ValueType.TEXT)
+ @DataField(order=0, primitiveType=PrimitiveType.TEXT)
String getAddress();
/**
@@ -30,6 +30,6 @@ public interface NodeSettings {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
PubKey getPubKey();
}
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java
index 694d7326..731ffef7 100644
--- a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java
+++ b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionRequest.java
@@ -2,27 +2,27 @@ package com.jd.blockchain.consensus.action;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code= TypeCodes.CONSENSUS_ACTION_REQUEST)
+@DataContract(code= DataCodes.CONSENSUS_ACTION_REQUEST)
public interface ActionRequest {
- @DataField(order=1, list=true, primitiveType= ValueType.INT8)
+ @DataField(order=1, list=true, primitiveType= PrimitiveType.INT8)
byte[] getGroupId();
- @DataField(order=2, primitiveType=ValueType.TEXT)
+ @DataField(order=2, primitiveType=PrimitiveType.TEXT)
String getHandleType();
- @DataField(order=3, primitiveType=ValueType.TEXT)
+ @DataField(order=3, primitiveType=PrimitiveType.TEXT)
String getHandleMethod();
// String getMessageType();
- @DataField(order=4, list=true, primitiveType= ValueType.INT8)
+ @DataField(order=4, list=true, primitiveType= PrimitiveType.INT8)
byte[] getMessageBody();
- @DataField(order=5, primitiveType= ValueType.TEXT)
+ @DataField(order=5, primitiveType= PrimitiveType.TEXT)
String getTransactionType();
// String getReponseType();
diff --git a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java
index 1ba34d01..5e35e911 100644
--- a/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java
+++ b/source/consensus/consensus-framework/src/main/java/com/jd/blockchain/consensus/action/ActionResponse.java
@@ -2,22 +2,22 @@ package com.jd.blockchain.consensus.action;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code= TypeCodes.CONSENSUS_ACTION_RESPONSE)
+@DataContract(code= DataCodes.CONSENSUS_ACTION_RESPONSE)
public interface ActionResponse {
- @DataField(order=1, list=true, primitiveType= ValueType.INT8)
+ @DataField(order=1, list=true, primitiveType= PrimitiveType.INT8)
byte[] getMessage();
- @DataField(order=2, primitiveType=ValueType.BOOLEAN)
+ @DataField(order=2, primitiveType=PrimitiveType.BOOLEAN)
boolean getError();
- @DataField(order=3, primitiveType=ValueType.TEXT)
+ @DataField(order=3, primitiveType=PrimitiveType.TEXT)
String getErrorMessage();
- @DataField(order=4, primitiveType=ValueType.TEXT)
+ @DataField(order=4, primitiveType=PrimitiveType.TEXT)
String getErrorType();
}
\ No newline at end of file
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java
index e87adb9e..61449436 100644
--- a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java
+++ b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/config/MsgQueueSettingsFactory.java
@@ -8,7 +8,7 @@
*/
package com.jd.blockchain.consensus.mq.config;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.consensus.ClientIncomingSettings;
import com.jd.blockchain.consensus.ConsensusSettings;
@@ -75,14 +75,14 @@ public class MsgQueueSettingsFactory implements SettingsFactory {
@Override
public byte[] encode(ConsensusSettings data) {
if (data instanceof MsgQueueConsensusSettings) {
- return BinaryEncodingUtils.encode(data, MsgQueueConsensusSettings.class);
+ return BinaryProtocol.encode(data, MsgQueueConsensusSettings.class);
}
throw new IllegalArgumentException("Settings data isn't supported! Accept MsgQueueConsensusSettings only!");
}
@Override
public MsgQueueConsensusSettings decode(byte[] bytes) {
- return BinaryEncodingUtils.decodeAs(bytes, MsgQueueConsensusSettings.class);
+ return BinaryProtocol.decodeAs(bytes, MsgQueueConsensusSettings.class);
}
}
@@ -91,14 +91,14 @@ public class MsgQueueSettingsFactory implements SettingsFactory {
@Override
public byte[] encode(ClientIncomingSettings data) {
if (data instanceof MsgQueueClientIncomingSettings) {
- return BinaryEncodingUtils.encode(data, MsgQueueClientIncomingSettings.class);
+ return BinaryProtocol.encode(data, MsgQueueClientIncomingSettings.class);
}
throw new IllegalArgumentException("Settings data isn't supported! Accept MsgQueueClientIncomingSettings only!");
}
@Override
public MsgQueueClientIncomingSettings decode(byte[] bytes) {
- return BinaryEncodingUtils.decodeAs(bytes, MsgQueueClientIncomingSettings.class);
+ return BinaryProtocol.decodeAs(bytes, MsgQueueClientIncomingSettings.class);
}
}
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java
index e2edaa7b..80832ca7 100644
--- a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java
+++ b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueBlockSettings.java
@@ -10,8 +10,8 @@ package com.jd.blockchain.consensus.mq.settings;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
/**
*
@@ -19,12 +19,12 @@ import com.jd.blockchain.utils.ValueType;
* @create 2018/12/13
* @since 1.0.0
*/
-@DataContract(code = TypeCodes.CONSENSUS_MSGQUEUE_BLOCK_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_MSGQUEUE_BLOCK_SETTINGS)
public interface MsgQueueBlockSettings {
- @DataField(order = 0, primitiveType = ValueType.INT32)
+ @DataField(order = 0, primitiveType = PrimitiveType.INT32)
int getTxSizePerBlock();
- @DataField(order = 1, primitiveType = ValueType.INT64)
+ @DataField(order = 1, primitiveType = PrimitiveType.INT64)
long getMaxDelayMilliSecondsPerBlock();
}
\ No newline at end of file
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java
index e0cb03d1..09d2c882 100644
--- a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java
+++ b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueClientIncomingSettings.java
@@ -10,11 +10,11 @@ package com.jd.blockchain.consensus.mq.settings;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.consensus.ClientIncomingSettings;
import com.jd.blockchain.consensus.ConsensusSettings;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
-import com.jd.blockchain.utils.ValueType;
/**
*
@@ -22,9 +22,9 @@ import com.jd.blockchain.utils.ValueType;
* @create 2018/12/13
* @since 1.0.0
*/
-@DataContract(code = TypeCodes.CONSENSUS_MSGQUEUE_CLI_INCOMING_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_MSGQUEUE_CLI_INCOMING_SETTINGS)
public interface MsgQueueClientIncomingSettings extends ClientIncomingSettings {
- @DataField(order = 1, primitiveType=ValueType.BYTES)
+ @DataField(order = 1, primitiveType=PrimitiveType.BYTES)
PubKey getPubKey();
}
\ No newline at end of file
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java
index d4e9e648..80cadcd7 100644
--- a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java
+++ b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueConsensusSettings.java
@@ -10,11 +10,11 @@ package com.jd.blockchain.consensus.mq.settings;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.consensus.ConsensusSettings;
import com.jd.blockchain.consensus.mq.config.MsgQueueBlockConfig;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.utils.Property;
-import com.jd.blockchain.utils.ValueType;
/**
*
@@ -22,7 +22,7 @@ import com.jd.blockchain.utils.ValueType;
* @create 2018/12/13
* @since 1.0.0
*/
-@DataContract(code = TypeCodes.CONSENSUS_MSGQUEUE_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_MSGQUEUE_SETTINGS)
public interface MsgQueueConsensusSettings extends ConsensusSettings {
@DataField(order = 0, refContract = true)
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java
index fea1690e..0bfd5061 100644
--- a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java
+++ b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNetworkSettings.java
@@ -10,8 +10,8 @@ package com.jd.blockchain.consensus.mq.settings;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
/**
*
@@ -19,18 +19,18 @@ import com.jd.blockchain.utils.ValueType;
* @create 2018/12/12
* @since 1.0.0
*/
-@DataContract(code = TypeCodes.CONSENSUS_MSGQUEUE_NETWORK_SETTINGS)
+@DataContract(code = DataCodes.CONSENSUS_MSGQUEUE_NETWORK_SETTINGS)
public interface MsgQueueNetworkSettings {
- @DataField(order = 0, primitiveType = ValueType.TEXT)
+ @DataField(order = 0, primitiveType = PrimitiveType.TEXT)
String getServer();
- @DataField(order = 1, primitiveType = ValueType.TEXT)
+ @DataField(order = 1, primitiveType = PrimitiveType.TEXT)
String getTxTopic();
- @DataField(order = 2, primitiveType = ValueType.TEXT)
+ @DataField(order = 2, primitiveType = PrimitiveType.TEXT)
String getBlTopic();
- @DataField(order = 3, primitiveType = ValueType.TEXT)
+ @DataField(order = 3, primitiveType = PrimitiveType.TEXT)
String getMsgTopic();
}
\ No newline at end of file
diff --git a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java
index acfeb22b..9bd2a159 100644
--- a/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java
+++ b/source/consensus/consensus-mq/src/main/java/com/jd/blockchain/consensus/mq/settings/MsgQueueNodeSettings.java
@@ -10,7 +10,7 @@ package com.jd.blockchain.consensus.mq.settings;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.consensus.NodeSettings;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
/**
*
@@ -19,7 +19,7 @@ import com.jd.blockchain.consts.TypeCodes;
* @since 1.0.0
*/
-@DataContract(code=TypeCodes.CONSENSUS_MSGQUEUE_NODE_SETTINGS)
+@DataContract(code=DataCodes.CONSENSUS_MSGQUEUE_NODE_SETTINGS)
public interface MsgQueueNodeSettings extends NodeSettings {
}
\ No newline at end of file
diff --git a/source/contract/README.MD b/source/contract/README.MD
index 15b32c0d..9e940486 100644
--- a/source/contract/README.MD
+++ b/source/contract/README.MD
@@ -1,22 +1,27 @@
-合约相关说明
-
-1.编译合约入口:ContractCompilerCmdTest.java;
-2.账本调用合约测试入口:ContractEventSendOperationHandleTest.java;
+### 合约相关说明
+1. 编译合约入口:ContractCompilerCmdTest.java;
+2. 账本调用合约测试入口:ContractEventSendOperationHandleTest.java;
+### 单元测试注意事项
使用ContractEventSendOperationHandleTest.java进行单元测试,注意事项:
-1.设置合约使用PUB_CLASS_PATH、CORE_CLASS_PATH位置(sys-contract.properties);
+1. 设置合约使用PUB_CLASS_PATH、CORE_CLASS_PATH位置(sys-contract.properties);
PUB包在根目录中的contract-libs文件夹;core包需要编译来生成。具体如下:
-1)进入contract-jar模块,执行maven命令:mvn clean assembly:assembly
-2)生成的core包位于模块的target中的contract-jar-xxx所在的coreLib中;
-3)将此coreLib目录作为CORE_CLASS_PATH指向的目录。
-2.编译生成合约压缩包,即执行:ContractCompilerCmdTest.java对应的mainTestOk();
+ - 进入contract-jar模块,执行maven命令:
+ ```
+ mvn clean assembly:assembly
+ ```
+ - 生成的core包位于模块的target中的contract-jar-xxx所在的coreLib中;
+ - 将此coreLib目录作为CORE_CLASS_PATH指向的目录。
+2. 编译生成合约压缩包,即执行:ContractCompilerCmdTest.java对应的mainTestOk();
在编译之前,修改sys-contract.properties文件的变量CONTRACT_FROM_PATH(合约源文件位置)、CONTRACT_SAVE_TO_PATH(合约保存位置)。
-3.在合约保存位置中可看到生成的压缩包:xxx.contract;然后执行 ContractEventSendOperationHandleTest.java测试用例test1()即可。
-
-20180910版本改造
-1.在contract-jar中添加了mvn assembly处理逻辑,将合约用到的lib包全部放置其target/xxx/pubLib文件夹中,执行:mvn clean assembly:assembly
-2.修改了sys-contract.properties文件,新增了CONTRACT_CLASS_LIBS参数,将CONTRACT_CLASS_PATH专用于存储路径,CONTRACT_CLASS_LIBS来存放所有的jar包;
-3.删减了contract-libs文件夹中需要动态生成的jar;
-
-
+3. 在合约保存位置中可看到生成的压缩包:xxx.contract;然后执行 ContractEventSendOperationHandleTest.java测试用例test1()即可。
+### 20180910版本改造
+1. 在contract-jar中添加了mvn assembly处理逻辑,将合约用到的lib包全部放置其target/xxx/pubLib文件夹中,执行:
+```
+mvn clean assembly:assembly
+```
+2. 修改了sys-contract.properties文件,新增了CONTRACT_CLASS_LIBS参数;
+ - 将CONTRACT_CLASS_PATH专用于存储路径
+ - CONTRACT_CLASS_LIBS来存放所有的jar包
+3. 删减了contract-libs文件夹中需要动态生成的jar。
diff --git a/source/contract/contract-framework/pom.xml b/source/contract/contract-framework/pom.xml
index 9f449374..83d1cf06 100644
--- a/source/contract/contract-framework/pom.xml
+++ b/source/contract/contract-framework/pom.xml
@@ -12,7 +12,7 @@
com.jd.blockchain
- contract-model
+ ledger-model
${project.version}
@@ -27,7 +27,6 @@
org.apache.maven.plugins
maven-deploy-plugin
- 2.8.2
true
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractCode.java b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractCode.java
deleted file mode 100644
index 5590cabb..00000000
--- a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractCode.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.jd.blockchain.contract;
-
-import com.jd.blockchain.contract.model.ContractEventContext;
-
-public interface ContractCode {
-
- String getAddress();
-
- long getVersion();
-
- void processEvent(ContractEventContext eventContext);
-
-}
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractCode.java b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractCode.java
new file mode 100644
index 00000000..891acd4c
--- /dev/null
+++ b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractCode.java
@@ -0,0 +1,14 @@
+package com.jd.blockchain.contract.engine;
+
+import com.jd.blockchain.contract.ContractEventContext;
+import com.jd.blockchain.utils.Bytes;
+
+public interface ContractCode {
+
+ Bytes getAddress();
+
+ long getVersion();
+
+ void processEvent(ContractEventContext eventContext);
+
+}
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractEngine.java b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractEngine.java
similarity index 64%
rename from source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractEngine.java
rename to source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractEngine.java
index 09f7b416..3f5a21c1 100644
--- a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractEngine.java
+++ b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractEngine.java
@@ -1,4 +1,6 @@
-package com.jd.blockchain.contract;
+package com.jd.blockchain.contract.engine;
+
+import com.jd.blockchain.utils.Bytes;
/**
* 合约引擎;
@@ -16,7 +18,7 @@ public interface ContractEngine {
* @param address
* @return
*/
- ContractCode getContract(String address, long version);
+ ContractCode getContract(Bytes address, long version);
/**
* 装入合约代码;
@@ -27,6 +29,6 @@ public interface ContractEngine {
* @param code
* @return
*/
- ContractCode setupContract(String address, long version, byte[] code);
+ ContractCode setupContract(Bytes address, long version, byte[] code);
}
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractServiceProvider.java b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProvider.java
similarity index 79%
rename from source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractServiceProvider.java
rename to source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProvider.java
index ae8a0d00..753efd2f 100644
--- a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractServiceProvider.java
+++ b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProvider.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract;
+package com.jd.blockchain.contract.engine;
public interface ContractServiceProvider {
diff --git a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractServiceProviders.java b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProviders.java
similarity index 96%
rename from source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractServiceProviders.java
rename to source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProviders.java
index f0a6ba37..146dffa6 100644
--- a/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/ContractServiceProviders.java
+++ b/source/contract/contract-framework/src/main/java/com/jd/blockchain/contract/engine/ContractServiceProviders.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract;
+package com.jd.blockchain.contract.engine;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java b/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java
index 6769b618..ea1ee9fa 100644
--- a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java
+++ b/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractEngine.java
@@ -1,21 +1,21 @@
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.RuntimeContext;
+import com.jd.blockchain.utils.Bytes;
public class JVMContractEngine implements ContractEngine {
private RuntimeContext runtimeContext = RuntimeContext.get();
-// private RuntimeContext runtimeContext = ModularRuntimeContext.setup(System.getProperty("user.dir"));
- private String getCodeName(String address, long version) {
- return address + "_" + version;
+ private String getCodeName(Bytes address, long version) {
+ return address.toBase58() + "_" + version;
}
@Override
- public ContractCode getContract(String address, long version) {
+ public ContractCode getContract(Bytes address, long version) {
String codeName = getCodeName(address, version);
Module module = runtimeContext.getDynamicModule(codeName);
if (module == null) {
@@ -25,7 +25,7 @@ public class JVMContractEngine implements ContractEngine {
}
@Override
- public ContractCode setupContract(String address, long version, byte[] code) {
+ public ContractCode setupContract(Bytes address, long version, byte[] code) {
//is there the contractCode before setup? if yes ,then return;
ContractCode contractCode = getContract(address,version);
if(contractCode != null){
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java b/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java
index 859c25c7..013537bf 100644
--- a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java
+++ b/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JVMContractServiceProvider.java
@@ -1,7 +1,7 @@
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 {
@Override
diff --git a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java b/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java
index 147b6a26..90f68d5a 100644
--- a/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java
+++ b/source/contract/contract-jvm/src/main/java/com/jd/blockchain/contract/jvm/JavaContractCode.java
@@ -1,22 +1,20 @@
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.LoggerFactory;
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;
+import com.jd.blockchain.utils.Bytes;
/**
* contract code based jvm
@@ -25,18 +23,18 @@ import java.util.Properties;
public class JavaContractCode implements ContractCode {
private static final Logger LOGGER = LoggerFactory.getLogger(JavaContractCode.class);
private Module codeModule;
- private String address;
+ private Bytes address;
private long version;
private ContractEventContext contractEventContext;
- public JavaContractCode(String address, long version, Module codeModule) {
+ public JavaContractCode(Bytes address, long version, Module codeModule) {
this.address = address;
this.version = version;
this.codeModule = codeModule;
}
@Override
- public String getAddress() {
+ public Bytes getAddress() {
return address;
}
diff --git a/source/contract/contract-maven-plugin/pom.xml b/source/contract/contract-maven-plugin/pom.xml
index c8c11adb..0a357e52 100644
--- a/source/contract/contract-maven-plugin/pom.xml
+++ b/source/contract/contract-maven-plugin/pom.xml
@@ -9,32 +9,33 @@
contract-maven-plugin
maven-plugin
-
- ${parent.version}
- ${parent.version}
- 4.12
-
- 0.9.0-SNAPSHOT
- junit
- junit
- test
+ com.jd.blockchain
+ ledger-model
+ ${project.version}
com.jd.blockchain
- contract-model
- ${contract.version}
+ utils-common
+ ${project.version}
com.jd.blockchain
- utils-common
- ${utils.version}
+ sdk-client
+ ${project.version}
+
+
+
+ com.jd.blockchain
+ tools-keygen
+ ${project.version}
+
org.apache.maven.plugin-tools
@@ -83,29 +84,30 @@
false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
org.apache.maven.plugins
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractDeployExeUtil.java b/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployExeUtil.java
similarity index 85%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractDeployExeUtil.java
rename to source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployExeUtil.java
index 820668e4..a206a854 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractDeployExeUtil.java
+++ b/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployExeUtil.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain;
import java.io.File;
import java.io.FileInputStream;
@@ -160,25 +160,28 @@ public enum ContractDeployExeUtil {
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() {
return contractAddress;
diff --git a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java b/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java
index d942c165..80be911f 100644
--- a/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java
+++ b/source/contract/contract-maven-plugin/src/main/java/com/jd/blockchain/ContractDeployMojo.java
@@ -1,6 +1,5 @@
package com.jd.blockchain;
-import com.jd.blockchain.contract.model.ContractDeployExeUtil;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.PrivKey;
import com.jd.blockchain.crypto.PubKey;
diff --git a/source/contract/contract-model/pom.xml b/source/contract/contract-model/pom.xml
deleted file mode 100644
index 6a5da9c5..00000000
--- a/source/contract/contract-model/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
- 4.0.0
-
- com.jd.blockchain
- contract
- 0.9.0-SNAPSHOT
-
- contract-model
-
-
-
- com.jd.blockchain
- sdk-client
- ${project.version}
-
-
-
- com.jd.blockchain
- tools-keygen
- ${project.version}
-
-
- crypto-framework
- com.jd.blockchain
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/LedgerContext.java b/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/LedgerContext.java
deleted file mode 100644
index 5f2fbcbc..00000000
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/LedgerContext.java
+++ /dev/null
@@ -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{
-
-
-
-}
diff --git a/source/contract/contract-model/src/main/resources/sys-contract.properties b/source/contract/contract-model/src/main/resources/sys-contract.properties
deleted file mode 100644
index e8aee795..00000000
--- a/source/contract/contract-model/src/main/resources/sys-contract.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-#项目源文件存放的位置;
-PROJECT_BASE_DIR=e:\\gitCode\\block\\prototype\\
-#合同使用的类库存放的位置,可能不在项目中,故采用全新的地址;
-LEDGER_BASE_CLASS_PATH=e:\\gitCode\\block\\prototype\\libs\\
-BLACKLIST=java.io;java.net;java.util.Random
-#type:public,private
-CONTRACT_CLASSLOADER_TYPE=private
\ No newline at end of file
diff --git a/source/contract/pom.xml b/source/contract/pom.xml
index 39cbad89..835b06aa 100644
--- a/source/contract/pom.xml
+++ b/source/contract/pom.xml
@@ -10,7 +10,6 @@
pom
- contract-model
contract-framework
contract-jvm
contract-maven-plugin
diff --git a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java b/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java
index 19688f65..ec8ed272 100644
--- a/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java
+++ b/source/crypto/crypto-framework/src/main/java/com/jd/blockchain/crypto/CryptoAlgorithm.java
@@ -5,11 +5,11 @@ import java.io.OutputStream;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.utils.io.BytesUtils;
-@DataContract(code = TypeCodes.CRYPTO_ALGORITHM)
+@DataContract(code = DataCodes.CRYPTO_ALGORITHM)
public interface CryptoAlgorithm {
/**
@@ -63,7 +63,7 @@ public interface CryptoAlgorithm {
* {@link #EXT_ALGORITHM}) 5 种); 接下来4位标识密钥类型(包括:{@link #SYMMETRIC_KEY},
* {@link #ASYMMETRIC_KEY}); 最后8位是算法唯一ID;
*/
- @DataField(primitiveType = ValueType.INT16, order = 0)
+ @DataField(primitiveType = PrimitiveType.INT16, order = 0)
short code();
/**
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java b/source/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java
index 38039582..b3fd6065 100644
--- a/source/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java
+++ b/source/gateway/src/main/java/com/jd/blockchain/gateway/PeerService.java
@@ -1,7 +1,7 @@
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 {
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java b/source/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java
index 443b1208..ba17036b 100644
--- a/source/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java
+++ b/source/gateway/src/main/java/com/jd/blockchain/gateway/service/PeerConnectionManager.java
@@ -7,9 +7,9 @@ import org.springframework.stereotype.Component;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.gateway.PeerConnector;
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.transaction.BlockchainQueryService;
+import com.jd.blockchain.transaction.TransactionService;
import com.jd.blockchain.utils.net.NetworkAddress;
import java.util.List;
diff --git a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java b/source/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java
index 02ac7fc6..3ee571d9 100644
--- a/source/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java
+++ b/source/gateway/src/main/java/com/jd/blockchain/gateway/web/TxProcessingController.java
@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.SignatureFunction;
@@ -16,7 +16,7 @@ import com.jd.blockchain.ledger.DigitalSignature;
import com.jd.blockchain.ledger.TransactionContent;
import com.jd.blockchain.ledger.TransactionRequest;
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.web.converters.BinaryMessageConverter;
@@ -53,7 +53,7 @@ public class TxProcessingController implements TransactionService {
throw new IllegalStateException("Not implemented!");
} else {
// 验证签名;
- byte[] content = BinaryEncodingUtils.encode(txRequest.getTransactionContent(), TransactionContent.class);
+ byte[] content = BinaryProtocol.encode(txRequest.getTransactionContent(), TransactionContent.class);
for (DigitalSignature sign : partiSigns) {
SignatureFunction signFunc = Crypto
.getSignatureFunction(sign.getPubKey().getAlgorithm());
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountSet.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountSet.java
index 42904f14..19b195f1 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountSet.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/AccountSet.java
@@ -3,7 +3,7 @@ package com.jd.blockchain.ledger.core;
import java.util.HashMap;
import java.util.Map;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.AddressEncoding;
import com.jd.blockchain.crypto.HashDigest;
@@ -99,7 +99,7 @@ public class AccountSet implements Transactional, MerkleProvable {
// }
private AccountHeader deserialize(byte[] txBytes) {
- return BinaryEncodingUtils.decode(txBytes);
+ return BinaryProtocol.decode(txBytes);
}
/**
@@ -289,13 +289,13 @@ public class AccountSet implements Transactional, MerkleProvable {
private VersioningAccount deserialize(byte[] bytes, CryptoSetting cryptoSetting, String keyPrefix,
ExPolicyKVStorage exStorage, VersioningKVStorage verStorage, boolean readonly, long version) {
- AccountHeader accInfo = BinaryEncodingUtils.decode(bytes);
+ AccountHeader accInfo = BinaryProtocol.decode(bytes);
return new VersioningAccount(accInfo.getAddress(), accInfo.getPubKey(), accInfo.getRootHash(), cryptoSetting,
keyPrefix, exStorage, verStorage, readonly, accessPolicy, version);
}
private byte[] serialize(AccountHeader account) {
- return BinaryEncodingUtils.encode(account, AccountHeader.class);
+ return BinaryProtocol.encode(account, AccountHeader.class);
}
@Override
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java
index 06817550..323960f3 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ContractAccount.java
@@ -8,11 +8,8 @@ import com.jd.blockchain.utils.io.BytesUtils;
public class ContractAccount implements AccountHeader {
- // private static final String CONTRACT_INFO_PREFIX = "INFO" +
- // LedgerConsts.KEY_SEPERATOR;
private static final Bytes CONTRACT_INFO_PREFIX = Bytes.fromString("INFO" + LedgerConsts.KEY_SEPERATOR);
- // private static final String CHAIN_CODE_KEY = "CHAIN-CODE";
private static final Bytes CHAIN_CODE_KEY = Bytes.fromString("CHAIN-CODE");
private BaseAccount accBase;
@@ -74,7 +71,6 @@ public class ContractAccount implements AccountHeader {
private Bytes encodePropertyKey(Bytes key) {
return CONTRACT_INFO_PREFIX.concat(key);
-// return key.concatTo(CONTRACT_INFO_PREFIX);
}
}
\ No newline at end of file
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java
index dfe09bae..aa51901a 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/DataAccount.java
@@ -1,6 +1,7 @@
package com.jd.blockchain.ledger.core;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.PubKey;
import com.jd.blockchain.ledger.AccountHeader;
@@ -8,7 +9,6 @@ import com.jd.blockchain.ledger.BytesValue;
import com.jd.blockchain.ledger.KVDataEntry;
import com.jd.blockchain.ledger.KVDataObject;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
import com.jd.blockchain.utils.serialize.binary.BinarySerializeUtils;
public class DataAccount implements AccountHeader, MerkleProvable {
@@ -141,8 +141,8 @@ public class DataAccount implements AccountHeader, MerkleProvable {
value = baseAccount.dataset.getValuesAtIndex(fromIndex);
key = baseAccount.dataset.getKeyAtIndex(fromIndex);
ver = baseAccount.dataset.getVersion(key);
- BytesValue decodeData = BinaryEncodingUtils.decode(value);
- kvDataEntries[i] = new KVDataObject(key, ver, ValueType.valueOf(decodeData.getType().CODE), decodeData.getValue().toBytes());
+ BytesValue decodeData = BinaryProtocol.decode(value);
+ kvDataEntries[i] = new KVDataObject(key, ver, PrimitiveType.valueOf(decodeData.getType().CODE), decodeData.getValue().toBytes());
fromIndex++;
}
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminAccount.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminAccount.java
index 32ba3090..68f77f29 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminAccount.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerAdminAccount.java
@@ -3,7 +3,7 @@ package com.jd.blockchain.ledger.core;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
@@ -288,11 +288,11 @@ public class LedgerAdminAccount implements Transactional, LedgerAdministration {
}
private LedgerMetadata deserializeMetadata(byte[] bytes) {
- return BinaryEncodingUtils.decode(bytes);
+ return BinaryProtocol.decode(bytes);
}
private byte[] serializeMetadata(LedgerMetadataImpl config) {
- return BinaryEncodingUtils.encode(config, LedgerMetadata.class);
+ return BinaryProtocol.encode(config, LedgerMetadata.class);
}
@Override
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java
index ac1387b0..4810d601 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitDecision.java
@@ -2,10 +2,10 @@ package com.jd.blockchain.ledger.core;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.SignatureDigest;
-import com.jd.blockchain.utils.ValueType;
/**
* 账本初始化决定;
@@ -13,7 +13,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.METADATA_INIT_DECISION)
+@DataContract(code = DataCodes.METADATA_INIT_DECISION)
public interface LedgerInitDecision {
/**
@@ -21,14 +21,14 @@ public interface LedgerInitDecision {
*
* @return
*/
- @DataField(order=1, primitiveType=ValueType.INT32)
+ @DataField(order=1, primitiveType=PrimitiveType.INT32)
int getParticipantId();
/**
* 新建账本的哈希;
* @return
*/
- @DataField(order=2, primitiveType = ValueType.BYTES)
+ @DataField(order=2, primitiveType = PrimitiveType.BYTES)
HashDigest getLedgerHash();
/**
@@ -40,7 +40,7 @@ public interface LedgerInitDecision {
*
* @return
*/
- @DataField(order=3, primitiveType = ValueType.BYTES)
+ @DataField(order=3, primitiveType = PrimitiveType.BYTES)
SignatureDigest getSignature();
}
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitPermission.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitPermission.java
index 7c2297ae..7ca9e15c 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitPermission.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerInitPermission.java
@@ -2,10 +2,10 @@ package com.jd.blockchain.ledger.core;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.SignatureDigest;
import com.jd.blockchain.ledger.LedgerInitOperation;
-import com.jd.blockchain.utils.ValueType;
/**
* 账本初始化许可;
@@ -13,7 +13,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.METADATA_INIT_PERMISSION)
+@DataContract(code = DataCodes.METADATA_INIT_PERMISSION)
public interface LedgerInitPermission {
/**
@@ -21,7 +21,7 @@ public interface LedgerInitPermission {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.INT32)
+ @DataField(order = 1, primitiveType = PrimitiveType.INT32)
int getParticipantId();
/**
@@ -39,7 +39,7 @@ public interface LedgerInitPermission {
*
* @return
*/
- @DataField(order = 2, primitiveType = ValueType.BYTES)
+ @DataField(order = 2, primitiveType = PrimitiveType.BYTES)
SignatureDigest getTransactionSignature();
}
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java
index c0536716..4e8f05e5 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerMetadata.java
@@ -2,11 +2,11 @@ package com.jd.blockchain.ledger.core;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code = TypeCodes.METADATA)
+@DataContract(code = DataCodes.METADATA)
public interface LedgerMetadata {
/**
@@ -14,7 +14,7 @@ public interface LedgerMetadata {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
byte[] getSeed();
/**
@@ -22,7 +22,7 @@ public interface LedgerMetadata {
*
* @return
*/
- @DataField(order = 2, primitiveType = ValueType.BYTES)
+ @DataField(order = 2, primitiveType = PrimitiveType.BYTES)
HashDigest getParticipantsHash();
/**
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSetting.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSetting.java
index eba16465..21ce0565 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSetting.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerSetting.java
@@ -2,18 +2,18 @@ package com.jd.blockchain.ledger.core;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.ledger.CryptoSetting;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code = TypeCodes.METADATA_LEDGER_SETTING)
+@DataContract(code = DataCodes.METADATA_LEDGER_SETTING)
public interface LedgerSetting {
- @DataField(order=0, primitiveType=ValueType.TEXT)
+ @DataField(order=0, primitiveType=PrimitiveType.TEXT)
String getConsensusProvider();
- @DataField(order=1, primitiveType=ValueType.BYTES)
+ @DataField(order=1, primitiveType=PrimitiveType.BYTES)
Bytes getConsensusSetting();
@DataField(order=2, refContract=true)
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataSet.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataSet.java
index feb51295..77e94d77 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataSet.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/ParticipantDataSet.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.ledger.core;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.ParticipantNode;
@@ -65,7 +65,7 @@ public class ParticipantDataSet implements Transactional, MerkleProvable {
*/
public void addConsensusParticipant(ParticipantNode participant) {
Bytes key = encodeKey(participant.getAddress());
- byte[] participantBytes = BinaryEncodingUtils.encode(participant, ParticipantNode.class);
+ byte[] participantBytes = BinaryProtocol.encode(participant, ParticipantNode.class);
long nv = dataset.setValue(key, participantBytes, -1);
if (nv < 0) {
throw new LedgerException("Participant already exist! --[id=" + key + "]");
@@ -92,7 +92,7 @@ public class ParticipantDataSet implements Transactional, MerkleProvable {
if (bytes == null) {
return null;
}
- return BinaryEncodingUtils.decode(bytes);
+ return BinaryProtocol.decode(bytes);
}
public ParticipantNode[] getParticipants() {
@@ -100,7 +100,7 @@ public class ParticipantDataSet implements Transactional, MerkleProvable {
ParticipantNode[] pns = new ParticipantNode[bytes.length];
for (int i = 0; i < pns.length; i++) {
- pns[i] = BinaryEncodingUtils.decode(bytes[i]);
+ pns[i] = BinaryProtocol.decode(bytes[i]);
}
return pns;
}
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java
index f698e361..09b941d1 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/TransactionSet.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.ledger.core;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.CryptoSetting;
@@ -142,11 +142,11 @@ public class TransactionSet implements Transactional, MerkleProvable {
}
private LedgerTransaction deserialize(byte[] txBytes) {
- return BinaryEncodingUtils.decode(txBytes);
+ return BinaryProtocol.decode(txBytes);
}
private byte[] serialize(LedgerTransaction txRequest) {
- return BinaryEncodingUtils.encode(txRequest, LedgerTransaction.class);
+ return BinaryProtocol.encode(txRequest, LedgerTransaction.class);
}
public boolean isReadonly() {
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerQueryService.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerQueryService.java
index 4b8cd2c2..e7131c5a 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerQueryService.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerQueryService.java
@@ -1,13 +1,29 @@
package com.jd.blockchain.ledger.core.impl;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
+import com.jd.blockchain.binaryproto.PrimitiveType;
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.QueryUtil;
-import com.jd.blockchain.utils.ValueType;
public class LedgerQueryService implements BlockchainQueryService {
@@ -255,11 +271,11 @@ public class LedgerQueryService implements BlockchainQueryService {
for (int i = 0; i < entries.length; i++) {
ver = dataAccount.getDataVersion(Bytes.fromString(keys[i]));
if (ver < 0) {
- entries[i] = new KVDataObject(keys[i], -1, ValueType.NIL, null);
+ entries[i] = new KVDataObject(keys[i], -1, PrimitiveType.NIL, null);
}else {
byte[] value = dataAccount.getBytes(Bytes.fromString(keys[i]), ver);
- BytesValue decodeData = BinaryEncodingUtils.decode(value);
- entries[i] = new KVDataObject(keys[i], ver, ValueType.valueOf(decodeData.getType().CODE), decodeData.getValue().toBytes());
+ BytesValue decodeData = BinaryProtocol.decode(value);
+ entries[i] = new KVDataObject(keys[i], ver, PrimitiveType.valueOf(decodeData.getType().CODE), decodeData.getValue().toBytes());
}
}
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerRepositoryImpl.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerRepositoryImpl.java
index 4f6fe856..865f18d0 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerRepositoryImpl.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerRepositoryImpl.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.ledger.core.impl;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.HashFunction;
@@ -225,11 +225,11 @@ public class LedgerRepositoryImpl implements LedgerRepository {
if (block.getHeight() == 0) {
// 计算创世区块的 hash 时,不包括 ledgerHash 字段;
block.setLedgerHash(null);
- blockBodyBytes = BinaryEncodingUtils.encode(block, BlockBody.class);
+ blockBodyBytes = BinaryProtocol.encode(block, BlockBody.class);
// 恢复;
block.setLedgerHash(block.getHash());
} else {
- blockBodyBytes = BinaryEncodingUtils.encode(block, BlockBody.class);
+ blockBodyBytes = BinaryProtocol.encode(block, BlockBody.class);
}
HashFunction hashFunc = Crypto.getHashFunction(blockHash.getAlgorithm());
boolean pass = hashFunc.verify(blockHash, blockBodyBytes);
@@ -256,7 +256,7 @@ public class LedgerRepositoryImpl implements LedgerRepository {
}
private LedgerBlock deserialize(byte[] blockBytes) {
- return BinaryEncodingUtils.decode(blockBytes);
+ return BinaryProtocol.decode(blockBytes);
}
@Override
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerTransactionalEditor.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerTransactionalEditor.java
index 7fe5dd51..4277434d 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerTransactionalEditor.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/LedgerTransactionalEditor.java
@@ -2,7 +2,7 @@ package com.jd.blockchain.ledger.core.impl;
import java.util.Stack;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.BlockBody;
@@ -188,7 +188,7 @@ public class LedgerTransactionalEditor implements LedgerEditor {
newlyBlock.setTransactionSetHash(lastTxCtx.txset.getRootHash());
// compute block hash;
- byte[] blockBodyBytes = BinaryEncodingUtils.encode(newlyBlock, BlockBody.class);
+ byte[] blockBodyBytes = BinaryProtocol.encode(newlyBlock, BlockBody.class);
HashDigest blockHash = Crypto.getHashFunction(cryptoSetting.getHashAlgorithm())
.hash(blockBodyBytes);
newlyBlock.setHash(blockHash);
@@ -199,7 +199,7 @@ public class LedgerTransactionalEditor implements LedgerEditor {
// persist block bytes;
// only one version per block;
- byte[] blockBytes = BinaryEncodingUtils.encode(newlyBlock, LedgerBlock.class);
+ byte[] blockBytes = BinaryProtocol.encode(newlyBlock, LedgerBlock.class);
Bytes blockStorageKey = LedgerRepositoryImpl.encodeBlockStorageKey(newlyBlock.getHash());
long v = bufferedStorage.set(blockStorageKey, blockBytes, -1);
if (v < 0) {
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionBatchProcessor.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionBatchProcessor.java
index 1001230f..7a0670b8 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionBatchProcessor.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionBatchProcessor.java
@@ -20,9 +20,9 @@ import com.jd.blockchain.ledger.core.LedgerService;
import com.jd.blockchain.ledger.core.LedgerTransactionContext;
import com.jd.blockchain.ledger.core.OperationHandle;
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;
public class TransactionBatchProcessor implements TransactionBatchProcess {
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionEngineImpl.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionEngineImpl.java
index 73053188..bf2470e4 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionEngineImpl.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/TransactionEngineImpl.java
@@ -11,8 +11,8 @@ import com.jd.blockchain.ledger.core.LedgerDataSet;
import com.jd.blockchain.ledger.core.LedgerEditor;
import com.jd.blockchain.ledger.core.LedgerRepository;
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 {
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractEventSendOperationHandle.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractEventSendOperationHandle.java
index 498457af..e1930a35 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractEventSendOperationHandle.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractEventSendOperationHandle.java
@@ -1,49 +1,72 @@
package com.jd.blockchain.ledger.core.impl.handles;
-import com.jd.blockchain.contract.ContractServiceProviders;
-import com.jd.blockchain.contract.model.LocalContractEventContext;
+import static com.jd.blockchain.utils.BaseConstant.CONTRACT_SERVICE_PROVIDER;
+
+import org.springframework.stereotype.Service;
+
+import com.jd.blockchain.contract.LocalContractEventContext;
+import com.jd.blockchain.contract.engine.ContractCode;
+import com.jd.blockchain.contract.engine.ContractEngine;
+import com.jd.blockchain.contract.engine.ContractServiceProviders;
import com.jd.blockchain.ledger.ContractEventSendOperation;
import com.jd.blockchain.ledger.Operation;
-import com.jd.blockchain.ledger.core.*;
+import com.jd.blockchain.ledger.core.ContractAccount;
+import com.jd.blockchain.ledger.core.ContractAccountSet;
+import com.jd.blockchain.ledger.core.LedgerDataSet;
+import com.jd.blockchain.ledger.core.LedgerException;
+import com.jd.blockchain.ledger.core.LedgerService;
+import com.jd.blockchain.ledger.core.OperationHandle;
+import com.jd.blockchain.ledger.core.TransactionRequestContext;
import com.jd.blockchain.ledger.core.impl.LedgerQueryService;
import com.jd.blockchain.ledger.core.impl.OperationHandleContext;
-import org.springframework.stereotype.Service;
-
-import static com.jd.blockchain.utils.BaseConstant.CONTRACT_SERVICE_PROVIDER;
@Service
public class ContractEventSendOperationHandle implements OperationHandle {
+
+ private static final ContractEngine JVM_ENGINE;
+
+ static {
+ JVM_ENGINE = ContractServiceProviders.getProvider(CONTRACT_SERVICE_PROVIDER).getEngine();
+ }
+
@Override
public void process(Operation op, LedgerDataSet dataset, TransactionRequestContext requestContext,
LedgerDataSet previousBlockDataset, OperationHandleContext opHandleContext, LedgerService ledgerService) {
ContractEventSendOperation contractOP = (ContractEventSendOperation) op;
// 先从账本校验合约的有效性;
// 注意:必须在前一个区块的数据集中进行校验,因为那是经过共识的数据;从当前新区块链数据集校验则会带来攻击风险:未经共识的合约得到执行;
- if (!previousBlockDataset.getContractAccountSet().contains(contractOP.getContractAddress())) {
- throw new LedgerException(
- String.format("Target contract of ContractEvent was not registered! --[ContractAddress=%s]",
- contractOP.getContractAddress()));
+ ContractAccountSet contractSet = previousBlockDataset.getContractAccountSet();
+ if (!contractSet.contains(contractOP.getContractAddress())) {
+ throw new LedgerException(String.format("Contract was not registered! --[ContractAddress=%s]",
+ contractOP.getContractAddress()));
}
-
- //创建合约的账本上下文实例;
- LedgerQueryService queryService = new LedgerQueryService(ledgerService) ;
+
+ // 创建合约的账本上下文实例;
+ LedgerQueryService queryService = new LedgerQueryService(ledgerService);
ContractLedgerContext ledgerContext = new ContractLedgerContext(queryService, opHandleContext);
- // TODO:从合约引擎加载合约,执行合约代码;
- ContractAccount contract = previousBlockDataset.getContractAccountSet()
- .getContract(contractOP.getContractAddress());
- try {
- // 在调用方法前,需要加载上下文信息;
- LocalContractEventContext localContractEventContext = new LocalContractEventContext(
- requestContext.getRequest().getTransactionContent().getLedgerHash(),contract.getChainCode(), contractOP.getEvent());
- localContractEventContext.setArgs(contractOP.getArgs()).setTransactionRequest(requestContext.getRequest()).
- setLedgerContext(ledgerContext);
- ContractServiceProviders.getProvider(CONTRACT_SERVICE_PROVIDER).getEngine().setupContract(
- contract.getAddress().toBase58(),contract.getChaincodeVersion(),contract.getChainCode()).
- processEvent(localContractEventContext);
- } catch (Exception e) {
- e.printStackTrace();
+ // 先检查合约引擎是否已经加载合约;如果未加载,再从账本中读取合约代码并装载到引擎中执行;
+ ContractAccount contract = contractSet.getContract(contractOP.getContractAddress());
+ if (contract == null) {
+ throw new LedgerException(String.format("Contract was not registered! --[ContractAddress=%s]",
+ contractOP.getContractAddress()));
}
+
+ // 创建合约上下文;
+ LocalContractEventContext localContractEventContext = new LocalContractEventContext(
+ requestContext.getRequest().getTransactionContent().getLedgerHash(), contractOP.getEvent());
+ localContractEventContext.setArgs(contractOP.getArgs()).setTransactionRequest(requestContext.getRequest())
+ .setLedgerContext(ledgerContext);
+
+ ContractCode contractCode = JVM_ENGINE.getContract(contract.getAddress(), contract.getChaincodeVersion());
+ if (contractCode == null) {
+ // 装载合约;
+ contractCode = JVM_ENGINE.setupContract(contract.getAddress(), contract.getChaincodeVersion(),
+ contract.getChainCode());
+ }
+
+ // 处理合约事件;
+ contractCode.processEvent(localContractEventContext);
}
@Override
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractLedgerContext.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractLedgerContext.java
index d8cbb571..75d81904 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractLedgerContext.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/ContractLedgerContext.java
@@ -4,17 +4,32 @@ import java.util.ArrayList;
import java.util.List;
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.ledger.*;
+import com.jd.blockchain.ledger.AccountHeader;
+import com.jd.blockchain.ledger.BlockchainIdentity;
+import com.jd.blockchain.ledger.BytesValue;
+import com.jd.blockchain.ledger.BytesValueEntry;
+import com.jd.blockchain.ledger.DataAccountKVSetOperation;
+import com.jd.blockchain.ledger.DataAccountRegisterOperation;
+import com.jd.blockchain.ledger.BytesValueType;
+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.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.io.BytesUtils;
@@ -258,7 +273,7 @@ public class ContractLedgerContext implements LedgerContext {
@Override
public DataAccountKVSetOperationBuilder set(String key, byte[] value, long expVersion) {
- BytesValue bytesValue = new BytesValueImpl(DataType.BYTES, value);
+ BytesValue bytesValue = new BytesValueEntry(BytesValueType.BYTES, value);
this.op = new SingleKVSetOpTemplate(key, bytesValue, expVersion);
generatedOpList.add(op);
opHandleContext.handle(op);
@@ -268,10 +283,10 @@ public class ContractLedgerContext implements LedgerContext {
public DataAccountKVSetOperationBuilder set(String key, String value, long expVersion) {
BytesValue bytesValue;
if (isJson(value)) {
- bytesValue = new BytesValueImpl(DataType.JSON, value.getBytes());
+ bytesValue = new BytesValueEntry(BytesValueType.JSON, value.getBytes());
}
else {
- bytesValue = new BytesValueImpl(DataType.TEXT, value.getBytes());
+ bytesValue = new BytesValueEntry(BytesValueType.TEXT, value.getBytes());
}
this.op = new SingleKVSetOpTemplate(key, bytesValue, expVersion);
generatedOpList.add(op);
@@ -280,7 +295,7 @@ public class ContractLedgerContext implements LedgerContext {
}
@Override
public DataAccountKVSetOperationBuilder set(String key, Bytes value, long expVersion) {
- BytesValue bytesValue = new BytesValueImpl(DataType.BYTES, value.toBytes());
+ BytesValue bytesValue = new BytesValueEntry(BytesValueType.BYTES, value.toBytes());
this.op = new SingleKVSetOpTemplate(key, bytesValue, expVersion);
generatedOpList.add(op);
opHandleContext.handle(op);
@@ -288,7 +303,7 @@ public class ContractLedgerContext implements LedgerContext {
}
@Override
public DataAccountKVSetOperationBuilder set(String key, long value, long expVersion) {
- BytesValue bytesValue = new BytesValueImpl(DataType.INT64, BytesUtils.toBytes(value));
+ BytesValue bytesValue = new BytesValueEntry(BytesValueType.INT64, BytesUtils.toBytes(value));
this.op = new SingleKVSetOpTemplate(key, bytesValue, expVersion);
generatedOpList.add(op);
opHandleContext.handle(op);
diff --git a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/DataAccountKVSetOperationHandle.java b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/DataAccountKVSetOperationHandle.java
index 6e45999c..2d7735d4 100644
--- a/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/DataAccountKVSetOperationHandle.java
+++ b/source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/impl/handles/DataAccountKVSetOperationHandle.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.ledger.core.impl.handles;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.ledger.BytesValue;
import com.jd.blockchain.ledger.DataAccountKVSetOperation;
@@ -24,7 +24,7 @@ public class DataAccountKVSetOperationHandle implements OperationHandle{
DataAccount account = dataset.getDataAccountSet().getDataAccount(kvWriteOp.getAccountAddress());
KVWriteEntry[] writeset = kvWriteOp.getWriteSet();
for (KVWriteEntry kvw : writeset) {
- byte[] value = BinaryEncodingUtils.encode(kvw.getValue(), BytesValue.class);
+ byte[] value = BinaryProtocol.encode(kvw.getValue(), BytesValue.class);
account.setBytes(Bytes.fromString(kvw.getKey()), value, kvw.getExpectedVersion());
}
}
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAccountTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAccountTest.java
index 6b17b903..18566ca6 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAccountTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAccountTest.java
@@ -7,7 +7,7 @@ import java.util.Random;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.PubKey;
@@ -48,8 +48,8 @@ public class LedgerAccountTest {
pubKey, hashDigest);
// encode and decode
- byte[] encodeBytes = BinaryEncodingUtils.encode(accountHeaderData, AccountHeader.class);
- AccountHeader deAccountHeaderData = BinaryEncodingUtils.decode(encodeBytes);
+ byte[] encodeBytes = BinaryProtocol.encode(accountHeaderData, AccountHeader.class);
+ AccountHeader deAccountHeaderData = BinaryProtocol.decode(encodeBytes);
// verify start
assertEquals(accountHeaderData.getAddress(), deAccountHeaderData.getAddress());
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAdminAccountTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAdminAccountTest.java
index 54999130..af06d0b1 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAdminAccountTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerAdminAccountTest.java
@@ -21,9 +21,9 @@ import com.jd.blockchain.ledger.core.CryptoConfig;
import com.jd.blockchain.ledger.core.LedgerAdminAccount;
import com.jd.blockchain.ledger.core.LedgerConfiguration;
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.transaction.ConsensusParticipantData;
+import com.jd.blockchain.transaction.LedgerInitSettingData;
import com.jd.blockchain.utils.Bytes;
import com.jd.blockchain.utils.io.BytesUtils;
import com.jd.blockchain.utils.net.NetworkAddress;
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerBlockImplTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerBlockImplTest.java
index 623c89eb..ce29e1a5 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerBlockImplTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerBlockImplTest.java
@@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm;
@@ -54,8 +54,8 @@ public class LedgerBlockImplTest {
@Test
public void testSerialize_LedgerBlock() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, LedgerBlock.class);
- LedgerBlock resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, LedgerBlock.class);
+ LedgerBlock resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getHash(), data.getHash());
assertEquals(resolvedData.getHeight(), data.getHeight());
@@ -105,8 +105,8 @@ public class LedgerBlockImplTest {
transactionStagedSnapshot.setDataAccountSetHash(data);
transactionStagedSnapshot.setUserAccountSetHash(user);
- byte[] serialBytes = BinaryEncodingUtils.encode(transactionStagedSnapshot, LedgerDataSnapshot.class);
- LedgerDataSnapshot resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(transactionStagedSnapshot, LedgerDataSnapshot.class);
+ LedgerDataSnapshot resolvedData = BinaryProtocol.decode(serialBytes);
// verify start
assertEquals(resolvedData.getAdminAccountHash(), transactionStagedSnapshot.getAdminAccountHash());
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerEditerTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerEditerTest.java
index 047e4066..621aa6fc 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerEditerTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerEditerTest.java
@@ -26,9 +26,9 @@ import com.jd.blockchain.ledger.core.LedgerEditor;
import com.jd.blockchain.ledger.core.LedgerTransactionContext;
import com.jd.blockchain.ledger.core.UserAccount;
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.transaction.ConsensusParticipantData;
+import com.jd.blockchain.transaction.LedgerInitSettingData;
import com.jd.blockchain.utils.Bytes;
import com.jd.blockchain.utils.io.BytesUtils;
import com.jd.blockchain.utils.net.NetworkAddress;
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitOperationTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitOperationTest.java
index a6a56143..e9ae7693 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitOperationTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitOperationTest.java
@@ -9,7 +9,7 @@ import java.util.Random;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.AddressEncoding;
import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm;
@@ -19,9 +19,9 @@ import com.jd.blockchain.ledger.LedgerInitOperation;
import com.jd.blockchain.ledger.LedgerInitSetting;
import com.jd.blockchain.ledger.core.CryptoConfig;
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.net.NetworkAddress;
@@ -75,8 +75,8 @@ public class LedgerInitOperationTest {
LedgerInitOpTemplate template = new LedgerInitOpTemplate(ledgerInitSettingData);
- byte[] encode = BinaryEncodingUtils.encode(template, LedgerInitOperation.class);
- LedgerInitOperation decode = BinaryEncodingUtils.decode(encode);
+ byte[] encode = BinaryProtocol.encode(template, LedgerInitOperation.class);
+ LedgerInitOperation decode = BinaryProtocol.decode(encode);
for (int i = 0; i < template.getInitSetting().getConsensusParticipants().length; i++) {
assertEquals(template.getInitSetting().getConsensusParticipants()[i].getAddress(),
@@ -115,8 +115,8 @@ public class LedgerInitOperationTest {
LedgerInitOpTemplate template = new LedgerInitOpTemplate(ledgerInitSettingData);
- byte[] encode = BinaryEncodingUtils.encode(template, LedgerInitOperation.class);
- LedgerInitOperation decode = BinaryEncodingUtils.decode(encode);
+ byte[] encode = BinaryProtocol.encode(template, LedgerInitOperation.class);
+ LedgerInitOperation decode = BinaryProtocol.decode(encode);
for (int i = 0; i < template.getInitSetting().getConsensusParticipants().length; i++) {
assertEquals(template.getInitSetting().getConsensusParticipants()[i].getAddress(),
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitSettingTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitSettingTest.java
index 8055ff5b..7f9a4e7c 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitSettingTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerInitSettingTest.java
@@ -9,7 +9,7 @@ import java.util.Random;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.AddressEncoding;
import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm;
@@ -18,9 +18,9 @@ import com.jd.blockchain.ledger.BlockchainKeypair;
import com.jd.blockchain.ledger.LedgerInitSetting;
import com.jd.blockchain.ledger.core.CryptoConfig;
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.net.NetworkAddress;
@@ -72,9 +72,9 @@ public class LedgerInitSettingTest {
ledgerInitSettingData.setConsensusParticipants(parties1);
- byte[] encode = BinaryEncodingUtils.encode(ledgerInitSettingData, LedgerInitSetting.class);
+ byte[] encode = BinaryProtocol.encode(ledgerInitSettingData, LedgerInitSetting.class);
- LedgerInitSetting decode = BinaryEncodingUtils.decode(encode);
+ LedgerInitSetting decode = BinaryProtocol.decode(encode);
for (int i = 0; i < ledgerInitSettingData.getConsensusParticipants().length; i++) {
assertEquals(ledgerInitSettingData.getConsensusParticipants()[i].getAddress(),
@@ -116,9 +116,9 @@ public class LedgerInitSettingTest {
ledgerInitSettingData.setConsensusParticipants(parties1);
- byte[] encode = BinaryEncodingUtils.encode(ledgerInitSettingData, LedgerInitSetting.class);
+ byte[] encode = BinaryProtocol.encode(ledgerInitSettingData, LedgerInitSetting.class);
- LedgerInitSetting decode = BinaryEncodingUtils.decode(encode);
+ LedgerInitSetting decode = BinaryProtocol.decode(encode);
for (int i = 0; i < ledgerInitSettingData.getConsensusParticipants().length; i++) {
assertEquals(ledgerInitSettingData.getConsensusParticipants()[i].getAddress(),
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerManagerTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerManagerTest.java
index 637828f8..9974d5d8 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerManagerTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerManagerTest.java
@@ -39,10 +39,10 @@ import com.jd.blockchain.ledger.core.LedgerTransactionContext;
import com.jd.blockchain.ledger.core.UserAccount;
import com.jd.blockchain.ledger.core.UserAccountSet;
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.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.io.BytesUtils;
import com.jd.blockchain.utils.net.NetworkAddress;
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerMetaDataTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerMetaDataTest.java
index 4d29c908..19886d4b 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerMetaDataTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerMetaDataTest.java
@@ -10,7 +10,7 @@ import java.util.Random;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.AddressEncoding;
import com.jd.blockchain.crypto.HashDigest;
@@ -71,8 +71,8 @@ public class LedgerMetaDataTest {
ledgerMetadata.setParticipantsHash(hashDigest);
// encode and decode
- byte[] encodeBytes = BinaryEncodingUtils.encode(ledgerMetadata, LedgerMetadata.class);
- LedgerMetadata deLedgerMetaData = BinaryEncodingUtils.decode(encodeBytes);
+ byte[] encodeBytes = BinaryProtocol.encode(ledgerMetadata, LedgerMetadata.class);
+ LedgerMetadata deLedgerMetaData = BinaryProtocol.decode(encodeBytes);
// verify start
assertArrayEquals(ledgerMetadata.getSeed(), deLedgerMetaData.getSeed());
@@ -99,8 +99,8 @@ public class LedgerMetaDataTest {
LedgerConfiguration ledgerConfiguration = new LedgerConfiguration(consensusProvider, new Bytes(csSettingsBytes),
cryptoConfig);
- byte[] encodeBytes = BinaryEncodingUtils.encode(ledgerConfiguration, LedgerSetting.class);
- LedgerSetting deLedgerConfiguration = BinaryEncodingUtils.decode(encodeBytes);
+ byte[] encodeBytes = BinaryProtocol.encode(ledgerConfiguration, LedgerSetting.class);
+ LedgerSetting deLedgerConfiguration = BinaryProtocol.decode(encodeBytes);
// verify start
assertTrue(ledgerConfiguration.getConsensusSetting().equals(deLedgerConfiguration.getConsensusSetting()));
assertEquals(ledgerConfiguration.getCryptoSetting().getAutoVerifyHash(),
@@ -136,8 +136,8 @@ public class LedgerMetaDataTest {
CryptoConfig cryptoConfig = new CryptoConfig();
cryptoConfig.setAutoVerifyHash(true);
cryptoConfig.setHashAlgorithm(ClassicAlgorithm.SHA256);
- byte[] encodeBytes = BinaryEncodingUtils.encode(cryptoConfig, CryptoSetting.class);
- CryptoSetting deCryptoConfig = BinaryEncodingUtils.decode(encodeBytes);
+ byte[] encodeBytes = BinaryProtocol.encode(cryptoConfig, CryptoSetting.class);
+ CryptoSetting deCryptoConfig = BinaryProtocol.decode(encodeBytes);
// verify start
assertEquals(cryptoConfig.getHashAlgorithm(), deCryptoConfig.getHashAlgorithm());
@@ -162,8 +162,8 @@ public class LedgerMetaDataTest {
ParticipantCertData participantCertData = new ParticipantCertData(address, name, pubKey);
// encode and decode
- byte[] encodeBytes = BinaryEncodingUtils.encode(participantCertData, ParticipantNode.class);
- ParticipantNode deParticipantInfoData = BinaryEncodingUtils.decode(encodeBytes);
+ byte[] encodeBytes = BinaryProtocol.encode(participantCertData, ParticipantNode.class);
+ ParticipantNode deParticipantInfoData = BinaryProtocol.decode(encodeBytes);
// verify start
assertEquals(participantCertData.getAddress(), deParticipantInfoData.getAddress());
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTestUtils.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTestUtils.java
index 28a01823..d6f6ae43 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTestUtils.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTestUtils.java
@@ -15,8 +15,8 @@ import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.core.CryptoConfig;
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 {
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTransactionDataTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTransactionDataTest.java
index bfff2a7c..ba533a4a 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTransactionDataTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/LedgerTransactionDataTest.java
@@ -15,7 +15,7 @@ import java.util.UUID;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
@@ -37,10 +37,10 @@ import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionState;
import com.jd.blockchain.ledger.core.impl.LedgerTransactionData;
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;
/**
@@ -86,8 +86,8 @@ public class LedgerTransactionDataTest {
@Test
public void testSerialize_LedgerTransaction() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, LedgerTransaction.class);
- LedgerTransaction resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, LedgerTransaction.class);
+ LedgerTransaction resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getAdminAccountHash(), data.getAdminAccountHash());
@@ -120,8 +120,8 @@ public class LedgerTransactionDataTest {
@Test
public void testSerialize_Transaction() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, Transaction.class);
- Transaction resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, Transaction.class);
+ Transaction resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getExecutionState(), data.getExecutionState());
@@ -150,8 +150,8 @@ public class LedgerTransactionDataTest {
@Test
public void testSerialize_LedgerDataSnapshot() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, LedgerDataSnapshot.class);
- LedgerDataSnapshot resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, LedgerDataSnapshot.class);
+ LedgerDataSnapshot resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getAdminAccountHash(), data.getAdminAccountHash());
@@ -163,8 +163,8 @@ public class LedgerTransactionDataTest {
@Test
public void testSerialize_NodeRequest() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, NodeRequest.class);
- NodeRequest resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, NodeRequest.class);
+ NodeRequest resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
// EndpointSignatures 验证
@@ -189,8 +189,8 @@ public class LedgerTransactionDataTest {
@Test
public void testSerialize_EndpointRequest() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, EndpointRequest.class);
- EndpointRequest resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, EndpointRequest.class);
+ EndpointRequest resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
// EndpointSignatures 验证
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionSetTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionSetTest.java
index 6214d090..60b48975 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionSetTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionSetTest.java
@@ -33,8 +33,8 @@ import com.jd.blockchain.ledger.UserRegisterOperation;
import com.jd.blockchain.ledger.core.TransactionSet;
import com.jd.blockchain.ledger.core.impl.LedgerTransactionData;
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.transaction.TxBuilder;
import com.jd.blockchain.utils.io.BytesUtils;
public class TransactionSetTest {
diff --git a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionStagedSnapshotTest.java b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionStagedSnapshotTest.java
index b49767f0..3693f60d 100644
--- a/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionStagedSnapshotTest.java
+++ b/source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/TransactionStagedSnapshotTest.java
@@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.service.classic.ClassicAlgorithm;
@@ -43,8 +43,8 @@ public class TransactionStagedSnapshotTest {
@Test
public void testSerialize_LedgerDataSnapshot() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, LedgerDataSnapshot.class);
- LedgerDataSnapshot resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, LedgerDataSnapshot.class);
+ LedgerDataSnapshot resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getAdminAccountHash(), data.getAdminAccountHash());
assertEquals(resolvedData.getContractAccountSetHash(), data.getContractAccountSetHash());
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/Contract.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/Contract.java
similarity index 83%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/Contract.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/Contract.java
index 3e79827c..e1b7ea4e 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/Contract.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/Contract.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractAppLifecycleAwire.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractAppLifecycleAwire.java
similarity index 85%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractAppLifecycleAwire.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractAppLifecycleAwire.java
index cb9869c4..c8f4f8a9 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractAppLifecycleAwire.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractAppLifecycleAwire.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
/**
* 合约实现此接口可以监听合约应用的生命周期事件;
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractEvent.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEvent.java
similarity index 84%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractEvent.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEvent.java
index 00f24e76..6249945e 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractEvent.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEvent.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractEventContext.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEventContext.java
similarity index 95%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractEventContext.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEventContext.java
index d2c16761..a24ba26d 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractEventContext.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractEventContext.java
@@ -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.ledger.BlockchainIdentity;
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractException.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractException.java
similarity index 89%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractException.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractException.java
index 0e13d2c5..61ba347a 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractException.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractException.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
public class ContractException extends RuntimeException {
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractRuntimeAwire.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractRuntimeAwire.java
similarity index 81%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractRuntimeAwire.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractRuntimeAwire.java
index d5627985..eab96a41 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ContractRuntimeAwire.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ContractRuntimeAwire.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
/**
* 合约实现 {@link ContractRuntimeAwire} 的子接口可以监听运行时的生命周期事件;
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ErrorCodeEnum.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ErrorCodeEnum.java
similarity index 96%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ErrorCodeEnum.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ErrorCodeEnum.java
index 5e2bcb05..f978cb2f 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/ErrorCodeEnum.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/ErrorCodeEnum.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
/**
* 给每个错误编码,编译快速定位;
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/EventHandle.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventHandle.java
similarity index 84%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/EventHandle.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventHandle.java
index 35af3fe0..9b301460 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/EventHandle.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventHandle.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/EventProcessingAwire.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventProcessingAwire.java
similarity index 95%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/EventProcessingAwire.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventProcessingAwire.java
index 9098dda3..36080be1 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/EventProcessingAwire.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/EventProcessingAwire.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
/**
* @author huanghaiquan
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LedgerContext.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LedgerContext.java
new file mode 100644
index 00000000..196949ab
--- /dev/null
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LedgerContext.java
@@ -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{
+
+
+
+}
diff --git a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/LocalContractEventContext.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LocalContractEventContext.java
similarity index 84%
rename from source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/LocalContractEventContext.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LocalContractEventContext.java
index 2b1261b8..e18d7714 100644
--- a/source/contract/contract-model/src/main/java/com/jd/blockchain/contract/model/LocalContractEventContext.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/contract/LocalContractEventContext.java
@@ -1,11 +1,10 @@
-package com.jd.blockchain.contract.model;
+package com.jd.blockchain.contract;
+
+import java.util.Set;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.BlockchainIdentity;
import com.jd.blockchain.ledger.TransactionRequest;
-import com.jd.blockchain.utils.io.ByteArray;
-
-import java.util.Set;
/**
* @Author zhaogw
@@ -21,10 +20,10 @@ public class LocalContractEventContext implements ContractEventContext,Cloneable
private Set contractOwners;
private LedgerContext ledgerContext;
- public LocalContractEventContext(HashDigest ledgeHash, byte[] chainCode, String event){
+ public LocalContractEventContext(HashDigest ledgeHash, String event){
this.ledgeHash = ledgeHash;
this.event = event;
- this.chainCode = chainCode;
+// this.chainCode = chainCode;
}
@Override
@@ -92,14 +91,14 @@ public class LocalContractEventContext implements ContractEventContext,Cloneable
return this;
}
- public byte[] getChainCode() {
- return chainCode;
- }
-
- public LocalContractEventContext setChainCode(byte[] chainCode) {
- this.chainCode = chainCode;
- return this;
- }
+// public byte[] getChainCode() {
+// return chainCode;
+// }
+//
+// public LocalContractEventContext setChainCode(byte[] chainCode) {
+// this.chainCode = chainCode;
+// return this;
+// }
public LocalContractEventContext setArgs(byte[] args) {
this.args = args;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java
index 4252446f..42dc25a0 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountHeader.java
@@ -2,22 +2,22 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.PubKey;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code= TypeCodes.ACCOUNT_HEADER)
+@DataContract(code= DataCodes.ACCOUNT_HEADER)
public interface AccountHeader {
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
Bytes getAddress();
- @DataField(order=2, primitiveType = ValueType.BYTES)
+ @DataField(order=2, primitiveType = PrimitiveType.BYTES)
PubKey getPubKey();
- @DataField(order=3, primitiveType = ValueType.BYTES)
+ @DataField(order=3, primitiveType = PrimitiveType.BYTES)
HashDigest getRootHash();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountImpl.java
deleted file mode 100644
index 64e3c97e..00000000
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountImpl.java
+++ /dev/null
@@ -1,406 +0,0 @@
-//package com.jd.blockchain.ledger;
-//
-//import java.io.ByteArrayOutputStream;
-//import java.io.IOException;
-//import java.io.InputStream;
-//import java.io.OutputStream;
-//
-//import com.jd.blockchain.ledger.data.HashEncoding;
-//
-//import my.utils.io.ByteArray;
-//import my.utils.io.BytesEncoding;
-//import my.utils.io.BytesReader;
-//import my.utils.io.BytesUtils;
-//import my.utils.io.BytesWriter;
-//import my.utils.io.NumberMask;
-//
-//public class AccountImpl implements BlockchainAccount, BytesWriter, BytesReader {
-// public static final long INIT_TX_SEQUENCE_NUMBER = 0; // 初始交易流水号
-// public static final long INIT_MODEL_VERSION = 0; // 初始模型版本号
-// public static final long INIT_VERSION = 0; // 初始版本号
-// public static final long INIT_PRIVILLEGE_VERSION = 0; // 初始权限版本号
-// public static final long INIT_STATE_VERSION = 0; // 初始状态版本号
-// public static final long INIT_CODE_VERSION = 0; // 初始合约版本号
-//
-// private BlockchainIdentity identity;
-// private ByteArray ledgerHash; // 账本hash
-// private long blockHeight; // 账户注册的区块高度
-// private long txSequenceNumber; // 交易流水号
-// private long modelVersion; // 账户模型版本
-// private long version; // 账户版本
-// private ByteArray privilegeHash; // 权限树根hash
-// private long privilegeVersion; // 权限版本
-// private AccountStateType stateType; // 状态类型
-// private ByteArray stateHash; // 状态数根hash
-// private long stateVersion; // 状态版本
-// private ByteArray code; // 合约代码
-// private long codeVersion; // 合约版本
-// private HashAlgorithm codeHashAlgorithm = HashAlgorithm.SHA256;
-// private ByteArray codeHash;
-//
-// public AccountImpl() {
-// }
-//
-// public AccountImpl(BlockchainIdentity identity, ByteArray ledgerHash, long blockHeight, long txSequenceNumber,
-// long modelVersion, long version, ByteArray privilegeHash, long privilegeVersion, AccountStateType stateType,
-// ByteArray stateHash, long stateVersion, ByteArray code, long codeVersion) {
-// this.identity = identity;
-// this.ledgerHash = ledgerHash;
-// this.blockHeight = blockHeight;
-// this.txSequenceNumber = txSequenceNumber;
-// this.modelVersion = modelVersion;
-// this.version = version;
-// this.privilegeHash = privilegeHash;
-// this.privilegeVersion = privilegeVersion;
-// this.stateType = stateType;
-// this.stateHash = stateHash;
-// this.stateVersion = stateVersion;
-// this.code = code;
-// this.codeVersion = codeVersion;
-// }
-//
-// public AccountImpl(BlockchainIdentity identity, ByteArray ledgerHash, long blockHeight, ByteArray privilegeHash,
-// AccountStateType stateType, ByteArray stateHash, ByteArray code) {
-// this.identity = identity;
-// this.ledgerHash = ledgerHash;
-// this.blockHeight = blockHeight;
-// this.txSequenceNumber = INIT_TX_SEQUENCE_NUMBER;
-// this.modelVersion = INIT_MODEL_VERSION;
-// this.version = INIT_VERSION;
-// this.privilegeHash = privilegeHash;
-// this.privilegeVersion = INIT_PRIVILLEGE_VERSION;
-// this.stateType = stateType;
-// this.stateHash = stateHash;
-// this.stateVersion = INIT_STATE_VERSION;
-// this.code = code;
-// this.codeVersion = INIT_CODE_VERSION;
-// }
-//
-// @Override
-// public void resolvFrom(InputStream in) throws IOException {
-// BlockchainIdentity identity = new BlockchainIdentity();
-// identity.resolvFrom(in);
-// ByteArray ledgerHash = HashEncoding.read(in);
-// long blockHeight = BytesUtils.readLong(in);
-// long txSeqNum = BytesUtils.readLong(in);
-// long modelVersion = BytesUtils.readLong(in);
-// long version = BytesUtils.readLong(in);
-// ByteArray privilegeHash = HashEncoding.read(in);
-// long privilegeVersion = BytesUtils.readLong(in);
-// AccountStateType stateType = AccountStateType.valueOf(BytesUtils.readByte(in));
-// ByteArray stateHash = HashEncoding.read(in);
-// long stateVersion = BytesUtils.readLong(in);
-//
-// ByteArray code = BytesEncoding.readAsByteArray(NumberMask.NORMAL, in);
-// long codeVersion = BytesUtils.readLong(in);
-// HashAlgorithm codeHashAlgorithm = HashAlgorithm.valueOf(BytesUtils.readByte(in));
-// ByteArray codeHash = HashEncoding.read(in);
-//
-// this.identity = identity;
-// this.ledgerHash = ledgerHash;
-// this.blockHeight = blockHeight;
-// this.txSequenceNumber = txSeqNum;
-// this.modelVersion = modelVersion;
-// this.version = version;
-// this.privilegeHash = privilegeHash;
-// this.privilegeVersion = privilegeVersion;
-// this.stateType = stateType;
-// this.stateHash = stateHash;
-// this.stateVersion = stateVersion;
-// this.code = code;
-// this.codeVersion = codeVersion;
-// this.codeHashAlgorithm = codeHashAlgorithm;
-// this.codeHash = codeHash;
-// }
-//
-// @Override
-// public void writeTo(OutputStream out) throws IOException {
-// identity.writeTo(out);
-// HashEncoding.write(ledgerHash, out);
-// BytesUtils.writeLong(blockHeight, out);
-// BytesUtils.writeLong(txSequenceNumber, out);
-// BytesUtils.writeLong(modelVersion, out);
-// BytesUtils.writeLong(version, out);
-// HashEncoding.write(privilegeHash, out);
-// BytesUtils.writeLong(privilegeVersion, out);
-// BytesUtils.writeByte(stateType.getCODE(), out);
-// HashEncoding.write(stateHash, out);
-// BytesUtils.writeLong(stateVersion, out);
-//
-// BytesEncoding.write(code, NumberMask.NORMAL, out);
-// BytesUtils.writeLong(codeVersion, out);
-// BytesUtils.writeByte(codeHashAlgorithm.getAlgorithm(), out);
-// HashEncoding.write(getCodeHash(), out);
-// }
-//
-// /**
-// * 地址;
-// *
-// * @return
-// */
-// @Override
-// public BlockchainIdentity getAddress() {
-// return identity;
-// }
-//
-// /**
-// * 账户所属的账本的 hash;
-// *
-// * 注:账本的hash 等同于该账本的创世区块的 hash;
-// *
-// * @return
-// */
-// @Override
-// public ByteArray getLedgerHash() {
-// return ledgerHash;
-// }
-//
-// /**
-// * 注册账户的区块高度;
-// *
-// * 注册此账户的区块高度;
-// *
-// * @return
-// */
-// @Override
-// public long getRegisteredHeight() {
-// return blockHeight;
-// }
-//
-// /**
-// * 交易流水号;
-// *
-// * 账户的交易流水号初始为 0,当账户作为交易的科目账户(SubjectAccount )发起一个交易并被成功执行之后,账户的交易流水号增加1;
-// *
-// * @return
-// */
-// @Override
-// public long getTxSquenceNumber() {
-// return txSequenceNumber;
-// }
-//
-// /**
-// * 账户模型版本;
-// *
-// * 表示构成一个账户结构的属性模型的程序版本号;
-// *
-// * @return
-// */
-// @Override
-// public long getModelVersion() {
-// return modelVersion;
-// }
-//
-// /**
-// * 账户版本;
-// *
-// * 初始为 0,对账户的每一次变更(包括对权限设置、状态和合约代码的变更)都会使账户状态版本增加 1 ;注:交易序号的改变不会导致账户版本的增加;
-// *
-// * @return
-// */
-// @Override
-// public long getVersion() {
-// return version;
-// }
-//
-// /**
-// * 权限 hash;
-// *
-// * 权限树的根hash;
-// *
-// * @return
-// */
-// @Override
-// public ByteArray getPrivilegeHash() {
-// return privilegeHash;
-// }
-//
-// /**
-// * 权限版本;
-// *
-// * 初始为 0, 每次对权限的变更都导致版本号加 1;
-// *
-// * @return
-// */
-// @Override
-// public long getPrivilegeVersion() {
-// return privilegeVersion;
-// }
-//
-// /**
-// * 状态类型;
-// *
-// * 账户的状态类型有3种:空类型(NIL);键值类型;对象类型;参考 {@link AccountStateType}
-// *
-// * @return
-// */
-// @Override
-// public AccountStateType getStateType() {
-// return stateType;
-// }
-//
-// /**
-// * 状态版本;
-// *
-// * 初始为 0,每次对状态的更改都使得状态版本增加1;
-// *
-// * @return
-// */
-// @Override
-// public long getStateVersion() {
-// return stateVersion;
-// }
-//
-// /**
-// * 状态哈希;
-// *
-// * 数据状态的 merkle tree 的根hash;
-// *
-// * @return
-// */
-// @Override
-// public ByteArray getStateHash() {
-// return stateHash;
-// }
-//
-// /**
-// * 合约代码哈希;
-// *
-// * 由“账户地址+合约代码版本号+合约代码内容”生成的哈希;
-// *
-// * @return
-// */
-// @Override
-// public ByteArray getCodeHash() {
-// if (codeHash == null || codeHash == ByteArray.EMPTY) {
-// ByteArrayOutputStream out = new ByteArrayOutputStream();
-// BytesEncoding.write(getAddress().getAddress().getBytes(), NumberMask.SHORT, out);
-// BytesUtils.writeLong(codeVersion, out);
-// BytesEncoding.write(code, NumberMask.NORMAL, out);
-//
-// codeHash = HashEncoding.computeHash(out.toByteArray(), codeHashAlgorithm);
-// }
-//
-// return codeHash;
-// }
-//
-// public ByteArray getCode() {
-// return code;
-// }
-//
-// /**
-// * 代码版本;
-// *
-// * 初始为 0,每次对代码的变更都使版本加 1 ;
-// *
-// * @return
-// */
-// @Override
-// public long getCodeVersion() {
-// return codeVersion;
-// }
-//
-// public BlockchainIdentity getIdentity() {
-// return identity;
-// }
-//
-// public void setIdentity(BlockchainIdentity identity) {
-// this.identity = identity;
-// }
-//
-// public void setLedgerHash(ByteArray ledgerHash) {
-// this.ledgerHash = ledgerHash;
-// }
-//
-// public long getBlockHeight() {
-// return blockHeight;
-// }
-//
-// public void setBlockHeight(long blockHeight) {
-// this.blockHeight = blockHeight;
-// }
-//
-// public long getTxSequenceNumber() {
-// return txSequenceNumber;
-// }
-//
-// public void setTxSequenceNumber(long txSequenceNumber) {
-// this.txSequenceNumber = txSequenceNumber;
-// }
-//
-// public void setModelVersion(long modelVersion) {
-// this.modelVersion = modelVersion;
-// }
-//
-// public void setVersion(long version) {
-// this.version = version;
-// }
-//
-// public void setPrivilegeHash(ByteArray privilegeHash) {
-// this.privilegeHash = privilegeHash;
-// }
-//
-// public void setPrivilegeVersion(long privilegeVersion) {
-// this.privilegeVersion = privilegeVersion;
-// }
-//
-// public void setStateType(AccountStateType stateType) {
-// this.stateType = stateType;
-// }
-//
-// public void setStateHash(ByteArray stateHash) {
-// this.stateHash = stateHash;
-// }
-//
-// public void setStateVersion(long stateVersion) {
-// this.stateVersion = stateVersion;
-// }
-//
-// public void setCodeHash(ByteArray codeHash) {
-// this.codeHash = codeHash;
-// }
-//
-// public void setCodeVersion(long codeVersion) {
-// this.codeVersion = codeVersion;
-// }
-//
-// @Override
-// public boolean equals(Object o) {
-// if (this == o)
-// return true;
-// if (!(o instanceof AccountImpl))
-// return false;
-//
-// AccountImpl account = (AccountImpl) o;
-//
-// if (getBlockHeight() != account.getBlockHeight())
-// return false;
-// if (getTxSequenceNumber() != account.getTxSequenceNumber())
-// return false;
-// if (getModelVersion() != account.getModelVersion())
-// return false;
-// if (getVersion() != account.getVersion())
-// return false;
-// if (getPrivilegeVersion() != account.getPrivilegeVersion())
-// return false;
-// if (getStateVersion() != account.getStateVersion())
-// return false;
-// if (getCodeVersion() != account.getCodeVersion())
-// return false;
-// if (!getIdentity().equals(account.getIdentity()))
-// return false;
-// if (!getLedgerHash().equals(account.getLedgerHash()))
-// return false;
-// if (!getPrivilegeHash().equals(account.getPrivilegeHash()))
-// return false;
-// if (getStateType() != account.getStateType())
-// return false;
-// if (!getStateHash().equals(account.getStateHash()))
-// return false;
-// if (!code.equals(account.code))
-// return false;
-// if (codeHashAlgorithm != account.codeHashAlgorithm)
-// return false;
-// return getCodeHash().equals(account.getCodeHash());
-// }
-//}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountRegisterOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountRegisterOperation.java
deleted file mode 100644
index 1983349a..00000000
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/AccountRegisterOperation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-//package com.jd.blockchain.ledger;
-//
-//import my.utils.io.ByteArray;
-//
-///**
-// * @author huanghaiquan
-// *
-// */
-//public interface AccountRegisterOperation extends BlockchainOperation {
-//
-// /**
-// * 要注册的身份;
-// *
-// * 必选;
-// *
-// * @return
-// */
-// BlockchainIdentity getId();
-//
-// /**
-// * 数据状态的存储类型;
-// *
-// * 必选;
-// *
-// * @return
-// */
-// AccountStateType getStateType();
-//
-//// /**
-//// * 账户的合约代码;
-//// *
-//// * 可选;
-//// *
-//// * @return
-//// */
-//// ByteArray getContractCode();
-//
-//}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java
index 7ab8411d..ff8f3705 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockBody.java
@@ -2,22 +2,22 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code= TypeCodes.BLOCK_BODY)
+@DataContract(code= DataCodes.BLOCK_BODY)
public interface BlockBody extends LedgerDataSnapshot{
- @DataField(order=2, primitiveType = ValueType.BYTES)
+ @DataField(order=2, primitiveType = PrimitiveType.BYTES)
HashDigest getPreviousHash();
- @DataField(order=3, primitiveType = ValueType.BYTES)
+ @DataField(order=3, primitiveType = PrimitiveType.BYTES)
HashDigest getLedgerHash();
- @DataField(order=4, primitiveType= ValueType.INT64)
+ @DataField(order=4, primitiveType= PrimitiveType.INT64)
long getHeight();
- @DataField(order=5, primitiveType = ValueType.BYTES)
+ @DataField(order=5, primitiveType = PrimitiveType.BYTES)
HashDigest getTransactionSetHash();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainAccount.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainAccount.java
deleted file mode 100644
index cd9f40c5..00000000
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainAccount.java
+++ /dev/null
@@ -1,146 +0,0 @@
-//package com.jd.blockchain.ledger;
-//
-//import my.utils.io.ByteArray;
-//
-//import java.io.Serializable;
-//
-///**
-// * 区块链账户;
-// *
-// * @author huanghaiquan
-// *
-// */
-//public interface BlockchainAccount extends Serializable {
-//
-// /**
-// * 地址;
-// *
-// * @return
-// */
-// BlockchainIdentity getAddress();
-//
-// /**
-// * 账户所属的账本的 hash;
-// *
-// * 注:账本的hash 等同于该账本的创世区块的 hash;
-// *
-// * @return
-// */
-// ByteArray getLedgerHash();
-//
-// /**
-// * 注册账户的区块高度;
-// *
-// * 注册此账户的区块高度;
-// *
-// * @return
-// */
-// long getRegisteredHeight();
-//
-// /**
-// * 交易流水号;
-// *
-// * 账户的交易流水号初始为 0,当账户作为交易的科目账户(SubjectAccount )发起一个交易并被成功执行之后,账户的交易流水号增加1;
-// *
-// * @return
-// */
-// long getTxSquenceNumber();
-//
-// /**
-// * 账户模型版本;
-// *
-// * 表示构成一个账户结构的属性模型的程序版本号;
-// *
-// * @return
-// */
-// long getModelVersion();
-//
-// /**
-// * 账户版本;
-// *
-// * 初始为 0,对账户的每一次变更(包括对权限设置、状态和合约代码的变更)都会使账户状态版本增加 1 ;注:交易序号的改变不会导致账户版本的增加;
-// *
-// * @return
-// */
-// long getVersion();
-//
-// // /**
-// // * 权限设置;
-// // *
-// // * @return
-// // */
-// // PrivilegeSetting getPrivilegeSetting();
-//
-// /**
-// * 权限 hash;
-// *
-// * 权限树的根hash;
-// *
-// * @return
-// */
-// ByteArray getPrivilegeHash();
-//
-// /**
-// * 权限版本;
-// *
-// * 初始为 0, 每次对权限的变更都导致版本号加 1;
-// *
-// * @return
-// */
-// long getPrivilegeVersion();
-//
-//// /**
-//// * 状态类型;
-//// *
-//// * 账户的状态类型有3种:空类型(NIL);键值类型;对象类型;参考 {@link AccountStateType}
-//// *
-//// * @return
-//// */
-//// AccountStateType getStateType();
-//
-// /**
-// * 状态版本;
-// *
-// * 初始为 0,每次对状态的更改都使得状态版本增加1;
-// *
-// * @return
-// */
-// long getStateVersion();
-//
-// /**
-// * 状态哈希;
-// *
-// * 数据状态的 merkle tree 的根hash;
-// *
-// * @return
-// */
-// ByteArray getStateHash();
-//
-// // /**
-// // * 合约代码;
-// // *
-// // * 合约代码是一段代码片段;
-// // *
-// // * @return
-// // */
-// // String getCode();
-//
-// /**
-// * 合约代码哈希;
-// *
-// * 由“账户地址+合约代码版本号+合约代码内容”生成的哈希;
-// *
-// * @return
-// */
-// ByteArray getCodeHash();
-//
-// /**
-// * 代码版本;
-// *
-// * 初始为 0,每次对代码的变更都使版本加 1 ;
-// *
-// * @return
-// */
-// long getCodeVersion();
-//
-//}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java
index ea061bcf..6dce8004 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainIdentity.java
@@ -2,18 +2,18 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code= TypeCodes.BLOCK_CHAIN_IDENTITY)
+@DataContract(code= DataCodes.BLOCK_CHAIN_IDENTITY)
public interface BlockchainIdentity {
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
Bytes getAddress();
- @DataField(order = 2, primitiveType=ValueType.BYTES)
+ @DataField(order = 2, primitiveType=PrimitiveType.BYTES)
PubKey getPubKey();
}
\ No newline at end of file
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainOperation.java
deleted file mode 100644
index e17f9b0a..00000000
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BlockchainOperation.java
+++ /dev/null
@@ -1,11 +0,0 @@
-//package com.jd.blockchain.ledger;
-//
-//import java.io.Serializable;
-//
-//public interface BlockchainOperation extends Serializable {
-//
-// OperationType getOperationType();
-//
-//// Operation getOperation();
-//
-//}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java
index d54b29b0..864484f3 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValue.java
@@ -2,11 +2,17 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.utils.io.BytesSlice;
-@DataContract(code = TypeCodes.BYTES_VALUE)
+/**
+ * BytesValue is the base structure of Value in Blockchain Account;
+ *
+ * @author huanghaiquan
+ *
+ */
+@DataContract(code = DataCodes.BYTES_VALUE)
public interface BytesValue {
/**
@@ -15,14 +21,14 @@ public interface BytesValue {
* @return
*/
@DataField(order = 0, refEnum = true)
- DataType getType();
+ BytesValueType getType();
/**
* 数据值的二进制序列;
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
BytesSlice getValue();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueEntry.java
similarity index 63%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueImpl.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueEntry.java
index 99278adb..753f5f3d 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueImpl.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueEntry.java
@@ -5,21 +5,21 @@ import com.jd.blockchain.utils.io.BytesSlice;
/**
* Created by zhangshuang3 on 2018/12/3.
*/
-public class BytesValueImpl implements BytesValue{
- DataType type;
+public class BytesValueEntry implements BytesValue{
+ BytesValueType type;
BytesSlice slice;
- public BytesValueImpl(DataType type, byte[] bytes) {
+ public BytesValueEntry(BytesValueType type, byte[] bytes) {
this.type = type;
this.slice = new BytesSlice(bytes);
}
@Override
- public DataType getType() {
+ public BytesValueType getType() {
return this.type;
}
- public void setType(DataType type) {
+ public void setType(BytesValueType type) {
this.type = type;
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueType.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueType.java
new file mode 100644
index 00000000..306b2b89
--- /dev/null
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/BytesValueType.java
@@ -0,0 +1,101 @@
+package com.jd.blockchain.ledger;
+
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.binaryproto.EnumContract;
+import com.jd.blockchain.binaryproto.EnumField;
+import com.jd.blockchain.consts.DataCodes;
+
+/**
+ * 键值操作的数据类型;
+ *
+ * @author huanghaiquan
+ *
+ */
+@EnumContract(code = DataCodes.ENUM_TYPE_BYTES_VALUE_TYPE, name = "BytesValueType", decription = "")
+public enum BytesValueType {
+
+ /**
+ * 空;
+ */
+ NIL(PrimitiveType.NIL.CODE),
+
+ /**
+ * 布尔型;
+ */
+ BOOLEAN(PrimitiveType.BOOLEAN.CODE),
+
+ /**
+ * 数值型:
+ */
+
+ INT8(PrimitiveType.INT8.CODE),
+
+ INT16(PrimitiveType.INT16.CODE),
+
+ INT32(PrimitiveType.INT32.CODE),
+
+ INT64(PrimitiveType.INT64.CODE),
+
+ /**
+ * 日期时间;
+ */
+ DATETIME(PrimitiveType.DATETIME.CODE),
+
+ /**
+ * 文本数据;
+ */
+ TEXT(PrimitiveType.TEXT.CODE),
+
+ /**
+ * 文本数据;
+ */
+ JSON(PrimitiveType.JSON.CODE),
+
+ /**
+ * 文本数据;
+ */
+ XML(PrimitiveType.XML.CODE),
+
+ /**
+ * 二进制数据;
+ */
+ BYTES(PrimitiveType.BYTES.CODE),
+
+ /**
+ * 大整数;
+ */
+ BIG_INT(PrimitiveType.BIG_INT.CODE),
+
+ /**
+ * 图片;
+ */
+ IMG(PrimitiveType.IMG.CODE),
+
+ /**
+ * 视频;
+ */
+ VIDEO(PrimitiveType.VIDEO.CODE),
+
+ /**
+ * 位置;
+ */
+ LOCATION(PrimitiveType.LOCATION.CODE);
+
+
+ @EnumField(type = PrimitiveType.INT8)
+ public final byte CODE;
+
+ private BytesValueType(byte code) {
+ this.CODE = code;
+ }
+
+ public static BytesValueType valueOf(byte code) {
+ for (BytesValueType dataType : BytesValueType.values()) {
+ if (dataType.CODE == code) {
+ return dataType;
+ }
+ }
+ throw new IllegalArgumentException("Code [" + code + "] not supported by BytesValueType enum!");
+ }
+
+}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java
index 7d82a7c8..48190979 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractCodeDeployOperation.java
@@ -2,16 +2,16 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code= TypeCodes.TX_OP_CONTRACT_DEPLOY)
+@DataContract(code= DataCodes.TX_OP_CONTRACT_DEPLOY)
public interface ContractCodeDeployOperation extends Operation {
@DataField(order=2, refContract = true)
BlockchainIdentity getContractID();
- @DataField(order=3, primitiveType=ValueType.BYTES)
+ @DataField(order=3, primitiveType=PrimitiveType.BYTES)
byte[] getChainCode();
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
index 38c6b90d..a9bd77e8 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
@@ -2,31 +2,25 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
/**
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.TX_OP_CONTRACT_EVENT_SEND)
+@DataContract(code= DataCodes.TX_OP_CONTRACT_EVENT_SEND)
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=PrimitiveType.BYTES)
Bytes getContractAddress();
- @DataField(order=3, primitiveType=ValueType.TEXT)
+ @DataField(order=3, primitiveType=PrimitiveType.TEXT)
String getEvent();
- @DataField(order=4, primitiveType=ValueType.BYTES)
+ @DataField(order=4, primitiveType=PrimitiveType.BYTES)
byte[] getArgs();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java
index 71c25416..cb41c645 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/CryptoSetting.java
@@ -2,8 +2,8 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
/**
* 默克尔树算法相关的配置;
@@ -11,7 +11,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.METADATA_CRYPTO_SETTING)
+@DataContract(code = DataCodes.METADATA_CRYPTO_SETTING)
public interface CryptoSetting {
/**
@@ -23,7 +23,7 @@ public interface CryptoSetting {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.INT16)
+ @DataField(order = 1, primitiveType = PrimitiveType.INT16)
public short getHashAlgorithm();
/**
@@ -35,7 +35,7 @@ public interface CryptoSetting {
*
* @return
*/
- @DataField(order = 2, primitiveType = ValueType.BOOLEAN)
+ @DataField(order = 2, primitiveType = PrimitiveType.BOOLEAN)
public boolean getAutoVerifyHash();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java
index a892aba9..5bedb8bc 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountKVSetOperation.java
@@ -2,30 +2,30 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code= TypeCodes.TX_OP_DATA_ACC_SET)
+@DataContract(code= DataCodes.TX_OP_DATA_ACC_SET)
public interface DataAccountKVSetOperation extends Operation{
- @DataField(order=2, primitiveType=ValueType.BYTES)
+ @DataField(order=2, primitiveType=PrimitiveType.BYTES)
Bytes getAccountAddress();
@DataField(order=3, list=true, refContract=true)
KVWriteEntry[] getWriteSet();
- @DataContract(code=TypeCodes.TX_OP_DATA_ACC_SET_KV)
+ @DataContract(code=DataCodes.TX_OP_DATA_ACC_SET_KV)
public static interface KVWriteEntry{
- @DataField(order=1, primitiveType=ValueType.TEXT)
+ @DataField(order=1, primitiveType=PrimitiveType.TEXT)
String getKey();
@DataField(order=2, refContract = true)
BytesValue getValue();
- @DataField(order=3, primitiveType=ValueType.INT64)
+ @DataField(order=3, primitiveType=PrimitiveType.INT64)
long getExpectedVersion();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java
index c938d352..f75621f7 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataAccountRegisterOperation.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code= TypeCodes.TX_OP_DATA_ACC_REG)
+@DataContract(code= DataCodes.TX_OP_DATA_ACC_REG)
public interface DataAccountRegisterOperation extends Operation {
@DataField(order=1, refContract = true)
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataType.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataType.java
deleted file mode 100644
index 278937d0..00000000
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DataType.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package com.jd.blockchain.ledger;
-
-import com.jd.blockchain.binaryproto.EnumContract;
-import com.jd.blockchain.binaryproto.EnumField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
-
-/**
- * 键值操作的数据类型;
- *
- * @author huanghaiquan
- *
- */
-@EnumContract(code= TypeCodes.ENUM_TYPE_DATA_TYPE, name = "DataType", decription = "")
-public enum DataType {
-
- /**
- * 空;
- */
- NIL((byte) 0x00),
-
- /**
- * 布尔型;
- */
- BOOLEAN((byte) 0x10),
-
- /**
- * 数值型:
- */
-
- INT8((byte) 0x11),
-
- INT16((byte) 0x12),
-
- INT32((byte) 0x13),
-
- INT64((byte) 0x14),
-
- /**
- * 日期时间;
- */
- DATETIME((byte) 0x15),
-
- /**
- * 文本数据;
- */
- TEXT((byte) 0x20),
-
- /**
- * 文本数据;
- */
- JSON((byte) 0x21),
-
- /**
- * 文本数据;
- */
- XML((byte) 0x22),
-
- /**
- * 二进制数据;
- */
- BYTES((byte) 0x40),
-
- /**
- * 大整数;
- */
- BIG_INT((byte) 0x41),
-
- /**
- * 图片;
- */
- IMG((byte) 0x42),
-
- /**
- * 视频;
- */
- VIDEO((byte) 0x43),
-
- /**
- * 位置;
- */
- LOCATION((byte) 0x44);
-
-// /**
-// * 引用;
-// *
-// * 表示引用区块链系统中的某一个特定的对象,用以下形式的 URI 表示;
-// *
-// * state://ledger/account/key/version
-// * 或
-// * proof:state://account_merkle_path/key_merkle_path
-// *
-// * proof:tx://
-// *
-// */
-// REFERENCE((byte) 0x80);
- @EnumField(type= ValueType.INT8)
- public final byte CODE;
-
- private DataType(byte code) {
- this.CODE = code;
- }
-
- public static DataType valueOf(byte code) {
- for (DataType dataType : DataType.values()) {
- if (dataType.CODE == code) {
- return dataType;
- }
- }
- throw new IllegalArgumentException("Unsupported code[" + code + "] of DataType!");
- }
-
-}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java
index 1a4ce413..f5acef07 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignature.java
@@ -1,7 +1,7 @@
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
/**
* 数字签名;
@@ -9,7 +9,7 @@ import com.jd.blockchain.consts.TypeCodes;
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.DIGITALSIGNATURE)
+@DataContract(code= DataCodes.DIGITALSIGNATURE)
public interface DigitalSignature extends DigitalSignatureBody {
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java
index 276f4ba9..de54970b 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/DigitalSignatureBody.java
@@ -2,10 +2,10 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
import com.jd.blockchain.crypto.SignatureDigest;
-import com.jd.blockchain.utils.ValueType;
/**
* 数字签名;
@@ -13,7 +13,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.DIGITALSIGNATURE_BODY)
+@DataContract(code= DataCodes.DIGITALSIGNATURE_BODY)
public interface DigitalSignatureBody {
/**
@@ -23,7 +23,7 @@ public interface DigitalSignatureBody {
*
* @return
*/
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
PubKey getPubKey();
/**
@@ -31,7 +31,7 @@ public interface DigitalSignatureBody {
*
* @return
*/
- @DataField(order=2, primitiveType = ValueType.BYTES )
+ @DataField(order=2, primitiveType = PrimitiveType.BYTES )
SignatureDigest getDigest();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java
index 2c0acba0..00253b85 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/EndpointRequest.java
@@ -2,14 +2,14 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code= TypeCodes.REQUEST_ENDPOINT)
+@DataContract(code= DataCodes.REQUEST_ENDPOINT)
public interface EndpointRequest {
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
HashDigest getHash();
/**
* 交易内容;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java
index 293c9394..ccba57aa 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/HashObject.java
@@ -1,7 +1,7 @@
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
/**
@@ -10,7 +10,7 @@ import com.jd.blockchain.crypto.HashDigest;
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.HASH_OBJECT)
+@DataContract(code= DataCodes.HASH_OBJECT)
public interface HashObject {
/**
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataEntry.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataEntry.java
index f4875b9c..efce0703 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataEntry.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataEntry.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.ledger;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
public interface KVDataEntry {
@@ -27,7 +27,7 @@ public interface KVDataEntry {
*
* @return
*/
- ValueType getType();
+ PrimitiveType getType();
/**
* 值;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataObject.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataObject.java
index b3e1157a..26467e85 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataObject.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/KVDataObject.java
@@ -5,7 +5,7 @@ import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.util.Date;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.utils.io.ByteArray;
import com.jd.blockchain.utils.io.BytesUtils;
@@ -25,11 +25,11 @@ public class KVDataObject implements KVDataEntry {
private long version;
- private ValueType type;
+ private PrimitiveType type;
private byte[] bytesValue;
- public KVDataObject(String key, long version, ValueType type, byte[] bytesValue) {
+ public KVDataObject(String key, long version, PrimitiveType type, byte[] bytesValue) {
this.key = key;
this.type = type;
this.version = version < 0 ? -1 : version;
@@ -62,7 +62,7 @@ public class KVDataObject implements KVDataEntry {
* @see com.jd.blockchain.ledger.KVDataEntry#getType()
*/
@Override
- public ValueType getType() {
+ public PrimitiveType getType() {
return type;
}
@@ -97,13 +97,13 @@ public class KVDataObject implements KVDataEntry {
* 是否为空值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#NIL} 时返回 true,其它情况返回 false;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#NIL} 时返回 true,其它情况返回 false;
*
*
* @return
*/
public boolean isNil() {
- return ValueType.NIL == type;
+ return PrimitiveType.NIL == type;
}
/**
@@ -119,7 +119,7 @@ public class KVDataObject implements KVDataEntry {
* 返回 8 位整数值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#INT8} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#INT8} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -127,17 +127,17 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public byte tinyValue() {
- if (ValueType.INT8 == type) {
+ if (PrimitiveType.INT8 == type) {
return bytesValue[0];
}
- throw new IllegalStateException(String.format("Expected type [%s], but [%s]", ValueType.INT8, type));
+ throw new IllegalStateException(String.format("Expected type [%s], but [%s]", PrimitiveType.INT8, type));
}
/**
* 返回 16 位整数值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#INT16} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#INT16} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -145,17 +145,17 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public short shortValue() {
- if (ValueType.INT16 == type) {
+ if (PrimitiveType.INT16 == type) {
return BytesUtils.toShort(bytesValue, 0);
}
- throw new IllegalStateException(String.format("Expected type [%s], but [%s]", ValueType.INT16, type));
+ throw new IllegalStateException(String.format("Expected type [%s], but [%s]", PrimitiveType.INT16, type));
}
/**
* 返回 32 位整数值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#INT32} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#INT32} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -163,17 +163,17 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public int intValue() {
- if (ValueType.INT32 == type) {
+ if (PrimitiveType.INT32 == type) {
return BytesUtils.toInt(bytesValue, 0);
}
- throw new IllegalStateException(String.format("Expected type [%s], but [%s]", ValueType.INT32, type));
+ throw new IllegalStateException(String.format("Expected type [%s], but [%s]", PrimitiveType.INT32, type));
}
/**
* 返回 64 位整数值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#INT64} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#INT64} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -181,10 +181,10 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public long longValue() {
- if (ValueType.INT64 == type) {
+ if (PrimitiveType.INT64 == type) {
return BytesUtils.toLong(bytesValue, 0);
}
- throw new IllegalStateException(String.format("Expected type [%s], but [%s]", ValueType.INT64, type));
+ throw new IllegalStateException(String.format("Expected type [%s], but [%s]", PrimitiveType.INT64, type));
}
@@ -192,7 +192,7 @@ public class KVDataObject implements KVDataEntry {
* 返回大整数值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#BIG_INT} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#BIG_INT} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -200,17 +200,17 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public BigInteger bigIntValue() {
- if (ValueType.BIG_INT == type) {
+ if (PrimitiveType.BIG_INT == type) {
return new BigInteger(bytesValue);
}
- throw new IllegalStateException(String.format("Expected type [%s], but [%s]", ValueType.BIG_INT, type));
+ throw new IllegalStateException(String.format("Expected type [%s], but [%s]", PrimitiveType.BIG_INT, type));
}
/**
* 返回布尔值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#BIG_INT} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#BIG_INT} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -218,17 +218,17 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public boolean boolValue() {
- if (ValueType.BOOLEAN == type) {
+ if (PrimitiveType.BOOLEAN == type) {
return bytesValue[0] != 0;
}
- throw new IllegalStateException(String.format("Expected type [%s], but [%s]", ValueType.BOOLEAN, type));
+ throw new IllegalStateException(String.format("Expected type [%s], but [%s]", PrimitiveType.BOOLEAN, type));
}
/**
* 返回日期时间值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#DATETIME} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#DATETIME} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -236,19 +236,19 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public Date datetimeValue() {
- if (ValueType.DATETIME == type) {
+ if (PrimitiveType.DATETIME == type) {
long ts = BytesUtils.toLong(bytesValue);
return new Date(ts);
}
- throw new IllegalStateException(String.format("Expected type [%s], but [%s]", ValueType.DATETIME, type));
+ throw new IllegalStateException(String.format("Expected type [%s], but [%s]", PrimitiveType.DATETIME, type));
}
/**
* 返回大整数值;
*
*
- * 仅当数据类型 {@link #getType()} 为 {@link ValueType#TEXT} / {@link ValueType#JSON} /
- * {@link ValueType#XML} 有效;
+ * 仅当数据类型 {@link #getType()} 为 {@link PrimitiveType#TEXT} / {@link PrimitiveType#JSON} /
+ * {@link PrimitiveType#XML} 有效;
*
*
* 无效类型将引发 {@link IllegalStateException} 异常;
@@ -256,15 +256,15 @@ public class KVDataObject implements KVDataEntry {
* @return
*/
public String stringValue() {
- if (ValueType.TEXT == type || ValueType.JSON == type || ValueType.XML == type) {
+ if (PrimitiveType.TEXT == type || PrimitiveType.JSON == type || PrimitiveType.XML == type) {
try {
return new String(bytesValue, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new IllegalStateException(e.getMessage(), e);
}
}
- throw new IllegalStateException(String.format("Expected type [%s] or [%s] or [%s] , but [%s]", ValueType.TEXT,
- ValueType.JSON, ValueType.XML, type));
+ throw new IllegalStateException(String.format("Expected type [%s] or [%s] or [%s] , but [%s]", PrimitiveType.TEXT,
+ PrimitiveType.JSON, PrimitiveType.XML, type));
}
// // ----------------
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java
index d002ed2d..1b58c8a7 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerBlock.java
@@ -2,11 +2,11 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code = TypeCodes.BLOCK)
+@DataContract(code = DataCodes.BLOCK)
public interface LedgerBlock extends BlockBody {
/**
@@ -19,7 +19,7 @@ public interface LedgerBlock extends BlockBody {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
HashDigest getHash();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java
index 83d0e78c..d6c9ecff 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerDataSnapshot.java
@@ -2,23 +2,23 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
-@DataContract(code=TypeCodes.DATA_SNAPSHOT)
+@DataContract(code=DataCodes.DATA_SNAPSHOT)
public interface LedgerDataSnapshot {
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
HashDigest getAdminAccountHash();
- @DataField(order=2, primitiveType = ValueType.BYTES)
+ @DataField(order=2, primitiveType = PrimitiveType.BYTES)
HashDigest getUserAccountSetHash();
- @DataField(order=3, primitiveType = ValueType.BYTES)
+ @DataField(order=3, primitiveType = PrimitiveType.BYTES)
HashDigest getDataAccountSetHash();
- @DataField(order=4, primitiveType = ValueType.BYTES)
+ @DataField(order=4, primitiveType = PrimitiveType.BYTES)
HashDigest getContractAccountSetHash();
// HashDigest getUserPrivilegeHash();
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java
index c14e79c1..08b02e07 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitOperation.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code= TypeCodes.TX_OP_LEDGER_INIT)
+@DataContract(code= DataCodes.TX_OP_LEDGER_INIT)
public interface LedgerInitOperation extends Operation{
@DataField(order=1, refContract=true)
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java
index 7d36dd30..90e2d44d 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerInitSetting.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.utils.Bytes;
-import com.jd.blockchain.utils.ValueType;
/**
* 账本初始化配置;
@@ -12,14 +12,14 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.METADATA_INIT_SETTING)
+@DataContract(code = DataCodes.METADATA_INIT_SETTING)
public interface LedgerInitSetting {
/**
* 账本的种子;
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
byte[] getLedgerSeed();
/**
@@ -39,7 +39,7 @@ public interface LedgerInitSetting {
CryptoSetting getCryptoSetting();
- @DataField(order = 4, primitiveType=ValueType.TEXT)
+ @DataField(order = 4, primitiveType=PrimitiveType.TEXT)
String getConsensusProvider();
/**
@@ -47,7 +47,7 @@ public interface LedgerInitSetting {
*
* @return
*/
- @DataField(order = 5, primitiveType=ValueType.BYTES)
+ @DataField(order = 5, primitiveType=PrimitiveType.BYTES)
Bytes getConsensusSettings();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java
index ef7cb4d3..6514193e 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/LedgerTransaction.java
@@ -1,7 +1,7 @@
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
/**
* 账本的事务;
@@ -11,7 +11,7 @@ import com.jd.blockchain.consts.TypeCodes;
* @author huanghaiquan
*
*/
-@DataContract(code=TypeCodes.TX_LEDGER)
+@DataContract(code=DataCodes.TX_LEDGER)
public interface LedgerTransaction extends Transaction, LedgerDataSnapshot {
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java
index c141de6f..4ccd8051 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/NodeRequest.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code = TypeCodes.REQUEST_NODE)
+@DataContract(code = DataCodes.REQUEST_NODE)
public interface NodeRequest extends EndpointRequest {
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java
index cbc7ffcb..ce78fa11 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Operation.java
@@ -1,9 +1,9 @@
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code= TypeCodes.TX_OP)
+@DataContract(code= DataCodes.TX_OP)
public interface Operation {
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java
index 91b63af1..c8974d1c 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ParticipantNode.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
-import com.jd.blockchain.utils.ValueType;
/**
* 参与方节点;
@@ -12,7 +12,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.METADATA_CONSENSUS_PARTICIPANT)
+@DataContract(code = DataCodes.METADATA_CONSENSUS_PARTICIPANT)
public interface ParticipantNode {// extends ConsensusNode, ParticipantInfo {
/**
@@ -29,7 +29,7 @@ public interface ParticipantNode {// extends ConsensusNode, ParticipantInfo {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.TEXT)
+ @DataField(order = 1, primitiveType = PrimitiveType.TEXT)
String getAddress();
/**
@@ -37,7 +37,7 @@ public interface ParticipantNode {// extends ConsensusNode, ParticipantInfo {
*
* @return
*/
- @DataField(order = 2, primitiveType = ValueType.TEXT)
+ @DataField(order = 2, primitiveType = PrimitiveType.TEXT)
String getName();
/**
@@ -45,6 +45,6 @@ public interface ParticipantNode {// extends ConsensusNode, ParticipantInfo {
*
* @return
*/
- @DataField(order = 3, primitiveType = ValueType.BYTES)
+ @DataField(order = 3, primitiveType = PrimitiveType.BYTES)
PubKey getPubKey();
}
\ No newline at end of file
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java
index 76c98880..a2442521 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/Transaction.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
import com.jd.blockchain.utils.io.ByteArray;
/**
@@ -13,7 +13,7 @@ import com.jd.blockchain.utils.io.ByteArray;
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.TX)
+@DataContract(code= DataCodes.TX)
public interface Transaction extends NodeRequest, HashObject {
/**
@@ -23,7 +23,7 @@ public interface Transaction extends NodeRequest, HashObject {
*
* @return
*/
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
@Override
HashDigest getHash();
@@ -32,7 +32,7 @@ public interface Transaction extends NodeRequest, HashObject {
*
* @return
*/
- @DataField(order=2, primitiveType=ValueType.INT64)
+ @DataField(order=2, primitiveType=PrimitiveType.INT64)
long getBlockHeight();
/**
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java
index 65eca630..26c5cfc5 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionBuilder.java
@@ -1,8 +1,8 @@
package com.jd.blockchain.ledger;
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;
/**
* 区块链交易模板;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java
index 936c2a21..5203835a 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
/**
* 交易内容;
@@ -12,10 +12,10 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.TX_CONTENT)
+@DataContract(code= DataCodes.TX_CONTENT)
public interface TransactionContent extends TransactionContentBody, HashObject {
@Override
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
HashDigest getHash();
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java
index 41663044..14ce61ac 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
/**
* 交易内容;
@@ -12,7 +12,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code = TypeCodes.TX_CONTENT_BODY)
+@DataContract(code = DataCodes.TX_CONTENT_BODY)
public interface TransactionContentBody {
/**
@@ -22,7 +22,7 @@ public interface TransactionContentBody {
*
* @return
*/
- @DataField(order = 1, primitiveType = ValueType.BYTES)
+ @DataField(order = 1, primitiveType = PrimitiveType.BYTES)
HashDigest getLedgerHash();
/**
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java
index 557d1141..c2fc42e1 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionRequest.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
/**
* 交易请求;
@@ -12,7 +12,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.REQUEST)
+@DataContract(code= DataCodes.REQUEST)
public interface TransactionRequest extends NodeRequest, HashObject {
/**
@@ -21,6 +21,6 @@ public interface TransactionRequest extends NodeRequest, HashObject {
* @return
*/
@Override
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
HashDigest getHash();
}
\ No newline at end of file
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java
index b6168dcb..f83a8961 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionResponse.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.binaryproto.PrimitiveType;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.utils.ValueType;
/**
* 交易请求 {@link TransactionRequest} 的回复;
@@ -12,7 +12,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@DataContract(code= TypeCodes.TX_RESPONSE)
+@DataContract(code= DataCodes.TX_RESPONSE)
public interface TransactionResponse {
/**
@@ -20,7 +20,7 @@ public interface TransactionResponse {
*
* @return
*/
- @DataField(order=1, primitiveType = ValueType.BYTES)
+ @DataField(order=1, primitiveType = PrimitiveType.BYTES)
HashDigest getContentHash();
/**
@@ -36,7 +36,7 @@ public interface TransactionResponse {
*
* @return
*/
- @DataField(order=3, primitiveType = ValueType.BYTES)
+ @DataField(order=3, primitiveType = PrimitiveType.BYTES)
HashDigest getBlockHash();
/**
@@ -47,10 +47,10 @@ public interface TransactionResponse {
*
* @return
*/
- @DataField(order=4, primitiveType=ValueType.INT64)
+ @DataField(order=4, primitiveType=PrimitiveType.INT64)
long getBlockHeight();
- @DataField(order=5, primitiveType=ValueType.BOOLEAN)
+ @DataField(order=5, primitiveType=PrimitiveType.BOOLEAN)
boolean isSuccess();
}
\ No newline at end of file
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java
index ed756109..f32f2cc1 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java
@@ -1,9 +1,9 @@
package com.jd.blockchain.ledger;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumContract;
import com.jd.blockchain.binaryproto.EnumField;
-import com.jd.blockchain.consts.TypeCodes;
-import com.jd.blockchain.utils.ValueType;
+import com.jd.blockchain.consts.DataCodes;
/**
* 交易(事务)执行状态;
@@ -11,7 +11,7 @@ import com.jd.blockchain.utils.ValueType;
* @author huanghaiquan
*
*/
-@EnumContract(code= TypeCodes.ENUM_TYPE_TRANSACTION_STATE)
+@EnumContract(code= DataCodes.ENUM_TYPE_TRANSACTION_STATE)
public enum TransactionState {
/**
@@ -39,7 +39,7 @@ public enum TransactionState {
*/
TIMEOUT((byte) 0x81);
- @EnumField(type= ValueType.INT8)
+ @EnumField(type= PrimitiveType.INT8)
public final byte CODE;
private TransactionState(byte code) {
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java
index afc1eb95..3c5acdcf 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionTemplate.java
@@ -1,7 +1,7 @@
package com.jd.blockchain.ledger;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.ledger.data.ClientOperator;
+import com.jd.blockchain.transaction.ClientOperator;
/**
* 区块链交易模板;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java
index eea581ff..48759b9f 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserInfo.java
@@ -1,10 +1,10 @@
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
import com.jd.blockchain.crypto.PubKey;
-@DataContract(code= TypeCodes.USER)
+@DataContract(code= DataCodes.USER)
public interface UserInfo extends AccountHeader {
PubKey getDataPubKey();
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java
index f565b190..f325085e 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/UserRegisterOperation.java
@@ -2,17 +2,11 @@ package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.DataContract;
import com.jd.blockchain.binaryproto.DataField;
-import com.jd.blockchain.consts.TypeCodes;
+import com.jd.blockchain.consts.DataCodes;
-@DataContract(code= TypeCodes.TX_OP_USER_REG)
+@DataContract(code= DataCodes.TX_OP_USER_REG)
public interface UserRegisterOperation extends Operation {
-// @Override
-// @DataField(order=1, refEnum = true)
-// default OperationType getType() {
-// return OperationType.REGISTER_DATA_ACCOUNT;
-// }
-
@DataField(order=2, refContract = true)
BlockchainIdentity getUserID();
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/EventOperator.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/EventOperator.java
deleted file mode 100644
index 551dc06b..00000000
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/EventOperator.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.jd.blockchain.ledger.data;
-
-public interface EventOperator {
-
- /**
- * 部署合约;
- * @return
- */
- ContractEventSendOperationBuilder contractEvents();
-
-}
\ No newline at end of file
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchProcess.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchProcess.java
similarity index 95%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchProcess.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchProcess.java
index 083b5215..9ac5c78e 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchProcess.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchProcess.java
@@ -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.TransactionResponse;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchResult.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResult.java
similarity index 85%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchResult.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResult.java
index b1363325..3b7038a5 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchResult.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResult.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.service;
+package com.jd.blockchain.service;
import java.util.Iterator;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchResultHandle.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResultHandle.java
similarity index 82%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchResultHandle.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResultHandle.java
index 2af06531..03caed25 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionBatchResultHandle.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionBatchResultHandle.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.service;
+package com.jd.blockchain.service;
import com.jd.blockchain.ledger.TransactionState;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionEngine.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionEngine.java
similarity index 83%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionEngine.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionEngine.java
index bfcde37b..aad92209 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/service/TransactionEngine.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/service/TransactionEngine.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.service;
+package com.jd.blockchain.service;
import com.jd.blockchain.crypto.HashDigest;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/manage/GatewayIncomingSetting.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/GatewayIncomingSetting.java
similarity index 86%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/manage/GatewayIncomingSetting.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/GatewayIncomingSetting.java
index abd25b4d..d6212fd7 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/manage/GatewayIncomingSetting.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/GatewayIncomingSetting.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.manage;
+package com.jd.blockchain.setting;
/**
* 网关接入设置;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/manage/LedgerIncomingSetting.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/LedgerIncomingSetting.java
similarity index 98%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/manage/LedgerIncomingSetting.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/LedgerIncomingSetting.java
index 15dbbf77..0e110f12 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/manage/LedgerIncomingSetting.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/setting/LedgerIncomingSetting.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.manage;
+package com.jd.blockchain.setting;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.CryptoSetting;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/BlockchainOperationFactory.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainOperationFactory.java
similarity index 93%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/BlockchainOperationFactory.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainOperationFactory.java
index 08d9d45a..bd1bfd5b 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/BlockchainOperationFactory.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainOperationFactory.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import java.util.ArrayList;
import java.util.Collection;
@@ -15,6 +15,10 @@ import com.jd.blockchain.ledger.Operation;
import com.jd.blockchain.ledger.UserRegisterOperation;
import com.jd.blockchain.utils.Bytes;
+/**
+ * @author huanghaiquan
+ *
+ */
public class BlockchainOperationFactory implements ClientOperator, LedgerInitOperator {
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 LedgerInitOperationBuilder ledgerInitOpBuilder = new LedgerInitOperationBuilderFilter();
private UserRegisterOperationBuilder userRegOpBuilder = new UserRegisterOperationBuilderFilter();
@@ -73,6 +78,12 @@ public class BlockchainOperationFactory implements ClientOperator, LedgerInitOpe
public ContractEventSendOperationBuilder contractEvents() {
return contractEventSendOpBuilder;
}
+
+ @Override
+ public T contract(String address, Class contractIntf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
public Collection getOperations() {
// TODO: 合并操作列表中可能的重复操作;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainQueryService.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainQueryService.java
similarity index 95%
rename from source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainQueryService.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainQueryService.java
index 942019a5..3b33a720 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainQueryService.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/BlockchainQueryService.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.sdk;
+package com.jd.blockchain.transaction;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.*;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ClientOperator.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ClientOperator.java
similarity index 81%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ClientOperator.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ClientOperator.java
index 9fe9ff4f..5e47ef89 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ClientOperator.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ClientOperator.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
/**
* 面向客户端的操作;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ConsensusParticipantData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java
similarity index 95%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ConsensusParticipantData.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java
index e31d6447..b4e64744 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ConsensusParticipantData.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ConsensusParticipantData.java
@@ -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.ledger.ParticipantNode;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOpTemplate.java
similarity index 92%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOpTemplate.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOpTemplate.java
index 704d0cde..4da74638 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOpTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOpTemplate.java
@@ -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.ledger.BlockchainIdentity;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOperationBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilder.java
similarity index 87%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOperationBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilder.java
index ee48739c..ff2c18fb 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOperationBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilder.java
@@ -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.ContractCodeDeployOperation;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOperationBuilderImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilderImpl.java
similarity index 88%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOperationBuilderImpl.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilderImpl.java
index 67921caf..a0c2bba4 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractCodeDeployOperationBuilderImpl.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractCodeDeployOperationBuilderImpl.java
@@ -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.ContractCodeDeployOperation;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java
similarity index 91%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java
index 23b15d02..29777b96 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java
@@ -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.ledger.ContractEventSendOperation;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOperationBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilder.java
similarity index 85%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOperationBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilder.java
index 1c3f7721..66f1ec22 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOperationBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilder.java
@@ -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.utils.Bytes;
@@ -11,6 +11,7 @@ public interface ContractEventSendOperationBuilder {
* @param args 事件参数;
* @return
*/
+ @Deprecated
ContractEventSendOperation send(String address, String event, byte[] args);
/**
@@ -19,6 +20,7 @@ public interface ContractEventSendOperationBuilder {
* @param args 事件参数;
* @return
*/
+ @Deprecated
ContractEventSendOperation send(Bytes address, String event, byte[] args);
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOperationBuilderImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java
similarity index 76%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOperationBuilderImpl.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java
index fdef8106..7c54e4e8 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOperationBuilderImpl.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java
@@ -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.utils.Bytes;
-public class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder{
+@Deprecated
+class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder{
@Override
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxy.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxy.java
new file mode 100644
index 00000000..c9b97e4d
--- /dev/null
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxy.java
@@ -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;
+ }
+
+}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxyBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxyBuilder.java
new file mode 100644
index 00000000..2bc6c9ea
--- /dev/null
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractInvocationProxyBuilder.java
@@ -0,0 +1,6 @@
+package com.jd.blockchain.transaction;
+
+class ContractInvocationProxyBuilder {
+
+
+}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractOperator.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractOperator.java
similarity index 76%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractOperator.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractOperator.java
index dada75c1..cc0f7da4 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractOperator.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractOperator.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
public interface ContractOperator {
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractType.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractType.java
new file mode 100644
index 00000000..27d75e25
--- /dev/null
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractType.java
@@ -0,0 +1,56 @@
+package com.jd.blockchain.transaction;
+
+import java.lang.reflect.Method;
+import java.util.Set;
+import java.util.SortedMap;
+
+class ContractType {
+
+ private String name;
+
+ private SortedMap events;
+
+ private SortedMap handleMethods;
+
+ /**
+ * 返回声明的所有事件;
+ *
+ * @return
+ */
+ Set getEvents() {
+ return events.keySet();
+ }
+
+ /**
+ * 返回指定方法声明的事件;
+ *
+ * 如果不存在,则返回 null;
+ *
+ * @param method
+ * @return
+ */
+ String getEvent(Method method) {
+ return handleMethods.get(method);
+ }
+
+ /**
+ * 返回事件的处理方法;
+ *
+ * 如果不存在,则返回 null;
+ *
+ * @param event
+ * @return
+ */
+ Method getHandleMethod(String event) {
+ return events.get(event);
+ }
+
+ private ContractType() {
+ }
+
+
+// public static ContractType resolve(Class> contractIntf) {
+//
+// }
+
+}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOpTemplate.java
similarity index 94%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOpTemplate.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOpTemplate.java
index 0fc6d2e3..5a1b48ab 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOpTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOpTemplate.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOperationBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilder.java
similarity index 93%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOperationBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilder.java
index 9f0ae566..4e0a903c 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOperationBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilder.java
@@ -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.utils.Bytes;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOperationBuilderImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilderImpl.java
similarity index 69%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOperationBuilderImpl.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilderImpl.java
index 58d94a2c..c0511e55 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountKVSetOperationBuilderImpl.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountKVSetOperationBuilderImpl.java
@@ -1,9 +1,9 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import com.jd.blockchain.ledger.BytesValue;
-import com.jd.blockchain.ledger.BytesValueImpl;
+import com.jd.blockchain.ledger.BytesValueEntry;
import com.jd.blockchain.ledger.DataAccountKVSetOperation;
-import com.jd.blockchain.ledger.DataType;
+import com.jd.blockchain.ledger.BytesValueType;
import com.jd.blockchain.utils.Bytes;
import com.jd.blockchain.utils.io.BytesUtils;
import com.jd.blockchain.utils.serialize.json.JSONSerializeUtils;
@@ -23,7 +23,7 @@ public class DataAccountKVSetOperationBuilderImpl implements DataAccountKVSetOpe
@Override
public DataAccountKVSetOperationBuilder set(String key, byte[] value, long expVersion) {
- BytesValue bytesValue = new BytesValueImpl(DataType.BYTES, value);
+ BytesValue bytesValue = new BytesValueEntry(BytesValueType.BYTES, value);
operation.set(key, bytesValue, expVersion);
return this;
}
@@ -32,10 +32,10 @@ public class DataAccountKVSetOperationBuilderImpl implements DataAccountKVSetOpe
public DataAccountKVSetOperationBuilder set(String key, String value, long expVersion) {
BytesValue bytesValue;
if (JSONSerializeUtils.isJSON(value)) {
- bytesValue = new BytesValueImpl(DataType.JSON, value.getBytes());
+ bytesValue = new BytesValueEntry(BytesValueType.JSON, value.getBytes());
}
else {
- bytesValue = new BytesValueImpl(DataType.TEXT, value.getBytes());
+ bytesValue = new BytesValueEntry(BytesValueType.TEXT, value.getBytes());
}
operation.set(key, bytesValue, expVersion);
return this;
@@ -43,13 +43,13 @@ public class DataAccountKVSetOperationBuilderImpl implements DataAccountKVSetOpe
@Override
public DataAccountKVSetOperationBuilder set(String key, Bytes value, long expVersion) {
- BytesValue bytesValue = new BytesValueImpl(DataType.BYTES, value.toBytes());
+ BytesValue bytesValue = new BytesValueEntry(BytesValueType.BYTES, value.toBytes());
operation.set(key, bytesValue, expVersion);
return this;
}
@Override
public DataAccountKVSetOperationBuilder set(String key, long value, long expVersion) {
- BytesValue bytesValue = new BytesValueImpl(DataType.INT64, BytesUtils.toBytes(value));
+ BytesValue bytesValue = new BytesValueEntry(BytesValueType.INT64, BytesUtils.toBytes(value));
operation.set(key, bytesValue, expVersion);
return this;
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountOperator.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountOperator.java
similarity index 91%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountOperator.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountOperator.java
index ff08d6cf..7964e7ef 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountOperator.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountOperator.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import com.jd.blockchain.utils.Bytes;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOpTemplate.java
similarity index 91%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOpTemplate.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOpTemplate.java
index 63ad84d9..ffcbd455 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOpTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOpTemplate.java
@@ -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.ledger.BlockchainIdentity;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOperationBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilder.java
similarity index 83%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOperationBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilder.java
index c6bd23f0..ca248fc4 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOperationBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilder.java
@@ -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.DataAccountRegisterOperation;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOperationBuilderImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilderImpl.java
similarity index 87%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOperationBuilderImpl.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilderImpl.java
index afff51a2..eba6b97d 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DataAccountRegisterOperationBuilderImpl.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DataAccountRegisterOperationBuilderImpl.java
@@ -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.DataAccountRegisterOperation;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DigitalSignatureBlob.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DigitalSignatureBlob.java
similarity index 95%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DigitalSignatureBlob.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DigitalSignatureBlob.java
index 18cc78fa..a2125490 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/DigitalSignatureBlob.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/DigitalSignatureBlob.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import com.jd.blockchain.crypto.PubKey;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/EventOperator.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/EventOperator.java
new file mode 100644
index 00000000..687c204d
--- /dev/null
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/EventOperator.java
@@ -0,0 +1,22 @@
+package com.jd.blockchain.transaction;
+
+public interface EventOperator {
+
+ /**
+ * 部署合约;
+ *
+ * @return
+ */
+ @Deprecated
+ ContractEventSendOperationBuilder contractEvents();
+
+ /**
+ * 创建调用合约的代理实例;
+ *
+ * @param address
+ * @param contractIntf
+ * @return
+ */
+ T contract(String address, Class contractIntf);
+
+}
\ No newline at end of file
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/KVData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/KVData.java
similarity index 93%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/KVData.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/KVData.java
index 29ed209f..de93fcc8 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/KVData.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/KVData.java
@@ -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.DataAccountKVSetOperation.KVWriteEntry;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOpTemplate.java
similarity index 89%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOpTemplate.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOpTemplate.java
index ccfdecaa..4259c98c 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOpTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOpTemplate.java
@@ -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.ledger.LedgerInitOperation;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperationBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilder.java
similarity index 85%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperationBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilder.java
index 6b7ff42b..9416d73d 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperationBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilder.java
@@ -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.LedgerInitSetting;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperationBuilderImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilderImpl.java
similarity index 86%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperationBuilderImpl.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilderImpl.java
index 5cb11dc2..9562ae64 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperationBuilderImpl.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperationBuilderImpl.java
@@ -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.LedgerInitSetting;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperator.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperator.java
similarity index 77%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperator.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperator.java
index 43ee3fbb..62c4f293 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitOperator.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitOperator.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
public interface LedgerInitOperator {
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitSettingData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitSettingData.java
similarity index 97%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitSettingData.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitSettingData.java
index ae40966b..e4fe8171 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/LedgerInitSettingData.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/LedgerInitSettingData.java
@@ -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.utils.Bytes;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/NewLedgerOpBlob.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/NewLedgerOpBlob.java
similarity index 92%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/NewLedgerOpBlob.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/NewLedgerOpBlob.java
index cd68cd30..ee496969 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/NewLedgerOpBlob.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/NewLedgerOpBlob.java
@@ -1,3 +1,4 @@
+package com.jd.blockchain.transaction;
//package com.jd.blockchain.ledger.data;
//
//import com.jd.blockchain.ledger.OperationType;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PreparedTx.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PreparedTx.java
similarity index 90%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PreparedTx.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PreparedTx.java
index 02c74a84..2b0422c0 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PreparedTx.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PreparedTx.java
@@ -1,6 +1,6 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
@@ -39,7 +39,7 @@ public class PreparedTx implements PreparedTransaction {
public DigitalSignature sign(AsymmetricKeypair keyPair) {
SignatureFunction signatureFunction = Crypto.getSignatureFunction(keyPair.getAlgorithm());
PrivKey privKey = keyPair.getPrivKey();
- byte[] content = BinaryEncodingUtils.encode(getTransactionContent(), TransactionContent.class);
+ byte[] content = BinaryProtocol.encode(getTransactionContent(), TransactionContent.class);
SignatureDigest signatureDigest = signatureFunction.sign(privKey, content);
DigitalSignature signature = new DigitalSignatureBlob(keyPair.getPubKey(), signatureDigest);
addSignature(signature);
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PrivilegeSettingOperationBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PrivilegeSettingOperationBuilder.java
similarity index 92%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PrivilegeSettingOperationBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PrivilegeSettingOperationBuilder.java
index f65b3cde..f2cbab74 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PrivilegeSettingOperationBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PrivilegeSettingOperationBuilder.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import com.jd.blockchain.ledger.PrivilegeType;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PubKeyData.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PubKeyData.java
similarity index 88%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PubKeyData.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PubKeyData.java
index e7350873..a31864e6 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/PubKeyData.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/PubKeyData.java
@@ -1,3 +1,4 @@
+package com.jd.blockchain.transaction;
//package com.jd.blockchain.ledger.data;
//
//import com.jd.blockchain.ledger.KeyType;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/SignatureEncoding.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureEncoding.java
similarity index 71%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/SignatureEncoding.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureEncoding.java
index 78031fb3..d28c829e 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/SignatureEncoding.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/SignatureEncoding.java
@@ -1,18 +1,18 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import org.springframework.util.Base64Utils;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.ledger.DigitalSignature;
public class SignatureEncoding {
public static byte[] encode(DigitalSignature signature) {
- return BinaryEncodingUtils.encode(signature, DigitalSignature.class);
+ return BinaryProtocol.encode(signature, DigitalSignature.class);
}
public static DigitalSignature decode(byte[] bytesSignature) {
- return BinaryEncodingUtils.decode(bytesSignature);
+ return BinaryProtocol.decode(bytesSignature);
}
public static DigitalSignature decodeFromBase64(String base64Signature) {
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TransactionService.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionService.java
similarity index 81%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TransactionService.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionService.java
index aa56dbe7..9d9a9ab8 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TransactionService.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TransactionService.java
@@ -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.TransactionResponse;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxBuilder.java
similarity index 82%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxBuilder.java
index 0b6bfa48..1f315482 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxBuilder.java
@@ -1,6 +1,6 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
@@ -42,7 +42,7 @@ public class TxBuilder implements TransactionBuilder {
TxContentBlob txContent = new TxContentBlob(ledgerHash);
txContent.addOperations(opFactory.getOperations());
- byte[] contentBodyBytes = BinaryEncodingUtils.encode(txContent, TransactionContentBody.class);
+ byte[] contentBodyBytes = BinaryProtocol.encode(txContent, TransactionContentBody.class);
HashDigest contentHash = Crypto.getHashFunction(DEFAULT_HASH_ALGORITHM).hash(contentBodyBytes);
txContent.setHash(contentHash);
@@ -83,5 +83,11 @@ public class TxBuilder implements TransactionBuilder {
public ContractEventSendOperationBuilder contractEvents() {
return opFactory.contractEvents();
}
+
+ @Override
+ public T contract(String address, Class contractIntf) {
+ // TODO Auto-generated method stub
+ throw new IllegalStateException("Not implemented.");
+ }
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxContentBlob.java
similarity index 93%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxContentBlob.java
index 5be77cf0..f1cb2993 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxContentBlob.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxRequestBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestBuilder.java
similarity index 91%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxRequestBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestBuilder.java
index 848f1e3d..5265b4be 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxRequestBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestBuilder.java
@@ -1,9 +1,9 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import java.util.ArrayList;
import java.util.List;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
@@ -86,7 +86,7 @@ public class TxRequestBuilder implements TransactionRequestBuilder {
txMessage.addEndpointSignatures(endpointSignatures);
txMessage.addNodeSignatures(nodeSignatures);
- byte[] reqBytes = BinaryEncodingUtils.encode(txMessage, NodeRequest.class);
+ byte[] reqBytes = BinaryProtocol.encode(txMessage, NodeRequest.class);
HashDigest reqHash = Crypto.getHashFunction(DEFAULT_HASH_ALGORITHM).hash(reqBytes);
txMessage.setHash(reqHash);
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxRequestMessage.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestMessage.java
similarity index 96%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxRequestMessage.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestMessage.java
index 06c29cbf..50037ee4 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxRequestMessage.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxRequestMessage.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
import java.util.LinkedHashMap;
import java.util.List;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxResponseMessage.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxResponseMessage.java
similarity index 92%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxResponseMessage.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxResponseMessage.java
index 144a7762..8a912d21 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxResponseMessage.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxResponseMessage.java
@@ -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.crypto.HashDigest;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxTemplate.java
similarity index 86%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxTemplate.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxTemplate.java
index 3f8523bc..f19906db 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/TxTemplate.java
@@ -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.ledger.PreparedTransaction;
@@ -57,5 +57,10 @@ public class TxTemplate implements TransactionTemplate {
public ContractEventSendOperationBuilder contractEvents() {
return txBuilder.contractEvents();
}
+
+ @Override
+ public T contract(String address, Class contractIntf) {
+ return txBuilder.contract(address, contractIntf);
+ }
}
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserOperator.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserOperator.java
similarity index 76%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserOperator.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserOperator.java
index 9053b9fb..fdd82668 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserOperator.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserOperator.java
@@ -1,4 +1,4 @@
-package com.jd.blockchain.ledger.data;
+package com.jd.blockchain.transaction;
public interface UserOperator {
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOpTemplate.java
similarity index 89%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOpTemplate.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOpTemplate.java
index f1c9940d..91ea541a 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOpTemplate.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOpTemplate.java
@@ -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.ledger.BlockchainIdentity;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOperationBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilder.java
similarity index 86%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOperationBuilder.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilder.java
index 8977ce3d..76f0e956 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOperationBuilder.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilder.java
@@ -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.UserRegisterOperation;
diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOperationBuilderImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilderImpl.java
similarity index 85%
rename from source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOperationBuilderImpl.java
rename to source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilderImpl.java
index ae7301b9..39a84725 100644
--- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/UserRegisterOperationBuilderImpl.java
+++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/UserRegisterOperationBuilderImpl.java
@@ -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.UserRegisterOperation;
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractCodeDeployOpTemplateTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractCodeDeployOpTemplateTest.java
index cbdbe67f..a54ce94f 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractCodeDeployOpTemplateTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractCodeDeployOpTemplateTest.java
@@ -15,7 +15,7 @@ import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.PubKey;
@@ -24,7 +24,7 @@ import com.jd.blockchain.ledger.BlockchainIdentity;
import com.jd.blockchain.ledger.BlockchainIdentityData;
import com.jd.blockchain.ledger.ContractCodeDeployOperation;
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;
/**
@@ -51,8 +51,8 @@ public class ContractCodeDeployOpTemplateTest {
@Test
public void testSerialize_ContractCodeDeployOperation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, ContractCodeDeployOperation.class);
- ContractCodeDeployOperation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, ContractCodeDeployOperation.class);
+ ContractCodeDeployOperation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertArrayEquals(resolvedData.getChainCode(), data.getChainCode());
assertEquals(resolvedData.getContractID().getAddress(), data.getContractID().getAddress());
@@ -62,8 +62,8 @@ public class ContractCodeDeployOpTemplateTest {
@Test
public void testSerialize_Operation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, ContractCodeDeployOperation.class);
- ContractCodeDeployOperation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, ContractCodeDeployOperation.class);
+ ContractCodeDeployOperation resolvedData = BinaryProtocol.decode(serialBytes);
BlockchainIdentity expCodeId = data.getContractID();
BlockchainIdentity actualCodeId = resolvedData.getContractID();
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractEventSendOpTemplateTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractEventSendOpTemplateTest.java
index ead7b0e5..fb197953 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractEventSendOpTemplateTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/ContractEventSendOpTemplateTest.java
@@ -8,13 +8,13 @@
*/
package test.com.jd.blockchain.ledger.data;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.ledger.ContractEventSendOperation;
import com.jd.blockchain.ledger.DataAccountKVSetOperation;
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 org.junit.Before;
@@ -45,8 +45,8 @@ public class ContractEventSendOpTemplateTest {
@Test
public void testSerialize_ContractEventSendOperation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, ContractEventSendOperation.class);
- ContractEventSendOperation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, ContractEventSendOperation.class);
+ ContractEventSendOperation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getContractAddress(), data.getContractAddress());
assertEquals(resolvedData.getEvent(), data.getEvent());
@@ -56,8 +56,8 @@ public class ContractEventSendOpTemplateTest {
@Test
public void testSerialize_Operation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, Operation.class);
- Operation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, Operation.class);
+ Operation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
System.out.println(resolvedData);
System.out.println("------Assert OK ------");
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountKVSetOpTemplateTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountKVSetOpTemplateTest.java
index 2ad55386..c5ccd7f6 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountKVSetOpTemplateTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountKVSetOpTemplateTest.java
@@ -8,14 +8,14 @@
*/
package test.com.jd.blockchain.ledger.data;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
-import com.jd.blockchain.ledger.BytesValueImpl;
+import com.jd.blockchain.ledger.BytesValueEntry;
import com.jd.blockchain.ledger.DataAccountKVSetOperation;
-import com.jd.blockchain.ledger.DataType;
+import com.jd.blockchain.ledger.BytesValueType;
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 org.junit.Before;
@@ -43,11 +43,11 @@ public class DataAccountKVSetOpTemplateTest {
String accountAddress = "zhangsandhakhdkah";
data = new DataAccountKVSetOpTemplate(Bytes.fromString(accountAddress));
KVData kvData1 =
- new KVData("test1", new BytesValueImpl(DataType.TEXT, "zhangsan".getBytes()), 9999L);
+ new KVData("test1", new BytesValueEntry(BytesValueType.TEXT, "zhangsan".getBytes()), 9999L);
KVData kvData2 =
- new KVData("test2", new BytesValueImpl(DataType.TEXT, "lisi".getBytes()), 9990L);
+ new KVData("test2", new BytesValueEntry(BytesValueType.TEXT, "lisi".getBytes()), 9990L);
KVData kvData3 =
- new KVData("test3", new BytesValueImpl(DataType.TEXT, "wangwu".getBytes()), 1990L);
+ new KVData("test3", new BytesValueEntry(BytesValueType.TEXT, "wangwu".getBytes()), 1990L);
data.set(kvData1);
data.set(kvData2);
data.set(kvData3);
@@ -56,8 +56,8 @@ public class DataAccountKVSetOpTemplateTest {
@Test
public void testSerialize_DataAccountKVSetOperation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, DataAccountKVSetOperation.class);
- DataAccountKVSetOperation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, DataAccountKVSetOperation.class);
+ DataAccountKVSetOperation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getAccountAddress(), data.getAccountAddress());
DataAccountKVSetOperation.KVWriteEntry[] resolvedKv = resolvedData.getWriteSet();
@@ -75,8 +75,8 @@ public class DataAccountKVSetOpTemplateTest {
@Test
public void testSerialize_Operation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, Operation.class);
- Operation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, Operation.class);
+ Operation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
System.out.println(resolvedData);
System.out.println("serialBytesLength=" + serialBytes.length);
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountRegisterOpTemplateTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountRegisterOpTemplateTest.java
index 207f5e42..fcca954f 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountRegisterOpTemplateTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DataAccountRegisterOpTemplateTest.java
@@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.PubKey;
@@ -22,7 +22,7 @@ import com.jd.blockchain.ledger.BlockchainIdentity;
import com.jd.blockchain.ledger.BlockchainIdentityData;
import com.jd.blockchain.ledger.DataAccountRegisterOperation;
import com.jd.blockchain.ledger.Operation;
-import com.jd.blockchain.ledger.data.DataAccountRegisterOpTemplate;
+import com.jd.blockchain.transaction.DataAccountRegisterOpTemplate;
/**
*
@@ -48,8 +48,8 @@ public class DataAccountRegisterOpTemplateTest {
@Test
public void testSerialize_DataAccountRegisterOperation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, DataAccountRegisterOperation.class);
- DataAccountRegisterOperation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, DataAccountRegisterOperation.class);
+ DataAccountRegisterOperation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getAccountID().getAddress(), data.getAccountID().getAddress());
assertEquals(resolvedData.getAccountID().getPubKey(), data.getAccountID().getPubKey());
@@ -59,8 +59,8 @@ public class DataAccountRegisterOpTemplateTest {
@Test
public void testSerialize_Operation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, Operation.class);
- Operation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, Operation.class);
+ Operation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
System.out.println("serialBytesLength=" + serialBytes.length);
System.out.println(resolvedData);
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DigitalSignatureBlobTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DigitalSignatureBlobTest.java
index ac0bc568..b3e73a0a 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DigitalSignatureBlobTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/DigitalSignatureBlobTest.java
@@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.CryptoAlgorithm;
import com.jd.blockchain.crypto.AsymmetricKeypair;
@@ -23,7 +23,7 @@ import com.jd.blockchain.crypto.SignatureDigest;
import com.jd.blockchain.crypto.SignatureFunction;
import com.jd.blockchain.ledger.DigitalSignature;
import com.jd.blockchain.ledger.DigitalSignatureBody;
-import com.jd.blockchain.ledger.data.DigitalSignatureBlob;
+import com.jd.blockchain.transaction.DigitalSignatureBlob;
/**
*
@@ -50,8 +50,8 @@ public class DigitalSignatureBlobTest {
@Test
public void testSerialize_DigitalSignature() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, DigitalSignature.class);
- DigitalSignature resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, DigitalSignature.class);
+ DigitalSignature resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getDigest(), data.getDigest());
assertEquals(resolvedData.getPubKey(), data.getPubKey());
@@ -60,8 +60,8 @@ public class DigitalSignatureBlobTest {
@Test
public void testSerialize_DigitalSignatureBody() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, DigitalSignatureBody.class);
- DigitalSignatureBody resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, DigitalSignatureBody.class);
+ DigitalSignatureBody resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getDigest(), data.getDigest());
assertEquals(resolvedData.getPubKey(), data.getPubKey());
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/KVDataTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/KVDataTest.java
index 1ee20e8a..86314a6f 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/KVDataTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/KVDataTest.java
@@ -8,13 +8,14 @@
*/
package test.com.jd.blockchain.ledger.data;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
-import com.jd.blockchain.ledger.BytesValueImpl;
+import com.jd.blockchain.ledger.BytesValueEntry;
import com.jd.blockchain.ledger.DataAccountKVSetOperation;
-import com.jd.blockchain.ledger.DataType;
-import com.jd.blockchain.ledger.data.DataAccountKVSetOpTemplate;
-import com.jd.blockchain.ledger.data.KVData;
+import com.jd.blockchain.ledger.BytesValueType;
+import com.jd.blockchain.transaction.DataAccountKVSetOpTemplate;
+import com.jd.blockchain.transaction.KVData;
+
import org.junit.Before;
import org.junit.Test;
@@ -38,13 +39,13 @@ public class KVDataTest {
byte[] value = "test-value".getBytes();
long expectedVersion = 9999L;
- kvData = new KVData(key, new BytesValueImpl(DataType.BYTES, value), expectedVersion);
+ kvData = new KVData(key, new BytesValueEntry(BytesValueType.BYTES, value), expectedVersion);
}
@Test
public void testSerialize_KVEntry() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(kvData, DataAccountKVSetOperation.KVWriteEntry.class);
- DataAccountKVSetOpTemplate.KVWriteEntry resolvedKvData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(kvData, DataAccountKVSetOperation.KVWriteEntry.class);
+ DataAccountKVSetOpTemplate.KVWriteEntry resolvedKvData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedKvData.getKey(), kvData.getKey());
assertEquals(resolvedKvData.getExpectedVersion(), kvData.getExpectedVersion());
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxContentBlobTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxContentBlobTest.java
index 20f0e8d0..a76e4e93 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxContentBlobTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxContentBlobTest.java
@@ -9,7 +9,7 @@ import java.util.UUID;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
@@ -20,8 +20,8 @@ import com.jd.blockchain.ledger.HashObject;
import com.jd.blockchain.ledger.Operation;
import com.jd.blockchain.ledger.TransactionContent;
import com.jd.blockchain.ledger.TransactionContentBody;
-import com.jd.blockchain.ledger.data.BlockchainOperationFactory;
-import com.jd.blockchain.ledger.data.TxContentBlob;
+import com.jd.blockchain.transaction.BlockchainOperationFactory;
+import com.jd.blockchain.transaction.TxContentBlob;
import com.jd.blockchain.utils.io.ByteArray;
public class TxContentBlobTest {
@@ -56,8 +56,8 @@ public class TxContentBlobTest {
public void testSerialize_TransactionContentBody()
throws IOException, InstantiationException, IllegalAccessException {
- byte[] bytesContent = BinaryEncodingUtils.encode(contentBlob, TransactionContentBody.class);
- TransactionContentBody resolvedContentBlob = BinaryEncodingUtils.decode(bytesContent);
+ byte[] bytesContent = BinaryProtocol.encode(contentBlob, TransactionContentBody.class);
+ TransactionContentBody resolvedContentBlob = BinaryProtocol.decode(bytesContent);
assertEquals(contentBlob.getLedgerHash(), resolvedContentBlob.getLedgerHash());
// assertEquals(contentBlob.getSubjectAccount(),
@@ -87,8 +87,8 @@ public class TxContentBlobTest {
@Test
public void testSerialize_TransactionContent() throws IOException, InstantiationException, IllegalAccessException {
- byte[] bytesContent = BinaryEncodingUtils.encode(contentBlob, TransactionContent.class);
- TransactionContentBody resolvedContentBlob = BinaryEncodingUtils.decode(bytesContent);
+ byte[] bytesContent = BinaryProtocol.encode(contentBlob, TransactionContent.class);
+ TransactionContentBody resolvedContentBlob = BinaryProtocol.decode(bytesContent);
assertEquals(contentBlob.getLedgerHash(), resolvedContentBlob.getLedgerHash());
// assertEquals(contentBlob.getSubjectAccount(),
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxRequestMessageTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxRequestMessageTest.java
index 7434ec66..dd7366f9 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxRequestMessageTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxRequestMessageTest.java
@@ -15,7 +15,7 @@ import java.util.UUID;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.crypto.Crypto;
@@ -33,10 +33,10 @@ import com.jd.blockchain.ledger.NodeRequest;
import com.jd.blockchain.ledger.Operation;
import com.jd.blockchain.ledger.TransactionContent;
import com.jd.blockchain.ledger.TransactionRequest;
-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;
/**
@@ -85,8 +85,8 @@ public class TxRequestMessageTest {
@Test
public void testSerialize_TransactionRequest() {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, TransactionRequest.class);
- TransactionRequest resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, TransactionRequest.class);
+ TransactionRequest resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getEndpointSignatures().length, data.getEndpointSignatures().length);
assertEquals(resolvedData.getNodeSignatures().length, data.getNodeSignatures().length);
@@ -124,8 +124,8 @@ public class TxRequestMessageTest {
@Test
public void testSerialize_NodeRequest() {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, NodeRequest.class);
- NodeRequest resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, NodeRequest.class);
+ NodeRequest resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getEndpointSignatures().length, data.getEndpointSignatures().length);
assertEquals(resolvedData.getNodeSignatures().length, data.getNodeSignatures().length);
@@ -161,8 +161,8 @@ public class TxRequestMessageTest {
@Test
public void testSerialize_EndpointRequest() {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, EndpointRequest.class);
- EndpointRequest resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, EndpointRequest.class);
+ EndpointRequest resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getEndpointSignatures().length, data.getEndpointSignatures().length);
DigitalSignature[] dataEndpointSignatures = data.getEndpointSignatures();
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxResponseMessageTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxResponseMessageTest.java
index 69f0dea0..c0a944de 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxResponseMessageTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/TxResponseMessageTest.java
@@ -13,14 +13,14 @@ import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.HashFunction;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionState;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
+import com.jd.blockchain.transaction.TxResponseMessage;
/**
*
@@ -50,8 +50,8 @@ public class TxResponseMessageTest {
@Test
public void testSerialize_TransactionResponse() {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, TransactionResponse.class);
- TransactionResponse resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, TransactionResponse.class);
+ TransactionResponse resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(resolvedData.getBlockHash(), data.getBlockHash());
assertEquals(resolvedData.getBlockHeight(), data.getBlockHeight());
diff --git a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/UserRegisterOpTemplateTest.java b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/UserRegisterOpTemplateTest.java
index 2d79c03d..27b455f3 100644
--- a/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/UserRegisterOpTemplateTest.java
+++ b/source/ledger/ledger-model/src/test/java/test/com/jd/blockchain/ledger/data/UserRegisterOpTemplateTest.java
@@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.crypto.Crypto;
@@ -22,7 +22,7 @@ import com.jd.blockchain.ledger.BlockchainIdentity;
import com.jd.blockchain.ledger.BlockchainIdentityData;
import com.jd.blockchain.ledger.Operation;
import com.jd.blockchain.ledger.UserRegisterOperation;
-import com.jd.blockchain.ledger.data.UserRegisterOpTemplate;
+import com.jd.blockchain.transaction.UserRegisterOpTemplate;
/**
*
@@ -47,8 +47,8 @@ public class UserRegisterOpTemplateTest {
@Test
public void testSerialize_UserRegisterOperation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, UserRegisterOperation.class);
- UserRegisterOperation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, UserRegisterOperation.class);
+ UserRegisterOperation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
assertEquals(data.getUserID().getAddress(), resolvedData.getUserID().getAddress());
assertEquals(data.getUserID().getPubKey(), resolvedData.getUserID().getPubKey());
@@ -57,8 +57,8 @@ public class UserRegisterOpTemplateTest {
@Test
public void testSerialize_Operation() throws Exception {
- byte[] serialBytes = BinaryEncodingUtils.encode(data, Operation.class);
- Operation resolvedData = BinaryEncodingUtils.decode(serialBytes);
+ byte[] serialBytes = BinaryProtocol.encode(data, Operation.class);
+ Operation resolvedData = BinaryProtocol.decode(serialBytes);
System.out.println("------Assert start ------");
System.out.println("serialBytesLength=" + serialBytes.length);
System.out.println(resolvedData);
diff --git a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java b/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java
index affc2dde..124b85cd 100644
--- a/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java
+++ b/source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/converters/BinaryMessageConverter.java
@@ -19,7 +19,7 @@ import org.springframework.http.converter.AbstractHttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
/**
* 针对二进制对象的序列化和反序列化的 HTTP 消息转换器;
@@ -95,7 +95,7 @@ public class BinaryMessageConverter extends AbstractHttpMessageConverter
throws IOException, HttpMessageNotReadableException {
InputStream in = inputMessage.getBody();
byte[] serializeBytes = BytesUtils.readBytes(in);
- Object resolvedObj = BinaryEncodingUtils.decode(serializeBytes);
+ Object resolvedObj = BinaryProtocol.decode(serializeBytes);
return resolvedObj;
}
@@ -104,7 +104,7 @@ public class BinaryMessageConverter extends AbstractHttpMessageConverter
throws IOException, HttpMessageNotWritableException {
OutputStream out = outputMessage.getBody();
if (t instanceof TransactionResponse) {
- byte[] serializeBytes = BinaryEncodingUtils.encode(t, TransactionResponse.class);
+ byte[] serializeBytes = BinaryProtocol.encode(t, TransactionResponse.class);
out.write(serializeBytes);
out.flush();
}
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java b/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java
index 80e48bcc..41cf14c6 100644
--- a/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java
+++ b/source/peer/src/main/java/com/jd/blockchain/peer/consensus/ConsensusMessageDispatcher.java
@@ -1,14 +1,13 @@
package com.jd.blockchain.peer.consensus;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.ledger.LedgerBlock;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionState;
-import com.jd.blockchain.ledger.service.TransactionBatchProcess;
-import com.jd.blockchain.ledger.service.TransactionBatchResultHandle;
-import com.jd.blockchain.ledger.service.TransactionEngine;
-
+import com.jd.blockchain.service.TransactionBatchProcess;
+import com.jd.blockchain.service.TransactionBatchResultHandle;
+import com.jd.blockchain.service.TransactionEngine;
import com.jd.blockchain.utils.codec.Base58Utils;
import com.jd.blockchain.utils.concurrent.AsyncFuture;
import com.jd.blockchain.utils.concurrent.CompletableAsyncFuture;
@@ -71,7 +70,7 @@ public class ConsensusMessageDispatcher implements MessageHandle {
if (!realmProcessor.getCurrBatchId().equalsIgnoreCase(batchId)) {
throw new IllegalArgumentException("BatchId is not begin!");
}
- TransactionRequest txRequest = BinaryEncodingUtils.decode(message);
+ TransactionRequest txRequest = BinaryProtocol.decode(message);
return realmProcessor.schedule(txRequest);
}
@@ -259,7 +258,7 @@ public class ConsensusMessageDispatcher implements MessageHandle {
TxResponse txResponse = new TxResponse(entry.getKey());
txResponse.setBlockHeight(blockHeight);
txResponse.setBlockHash(blockHash);
- asyncResult.complete(BinaryEncodingUtils.encode(txResponse, TransactionResponse.class));
+ asyncResult.complete(BinaryProtocol.encode(txResponse, TransactionResponse.class));
}
});
}
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java b/source/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
index 289e16cf..5a2bc247 100644
--- a/source/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
+++ b/source/peer/src/main/java/com/jd/blockchain/peer/ledger/LedgerConfigurer.java
@@ -7,7 +7,7 @@ import com.jd.blockchain.ledger.core.impl.DefaultOperationHandleRegisteration;
import com.jd.blockchain.ledger.core.impl.LedgerManager;
import com.jd.blockchain.ledger.core.impl.OperationHandleRegisteration;
import com.jd.blockchain.ledger.core.impl.TransactionEngineImpl;
-import com.jd.blockchain.ledger.service.TransactionEngine;
+import com.jd.blockchain.service.TransactionEngine;
@Configuration
public class LedgerConfigurer {
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java b/source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java
index c061956a..e221ba98 100644
--- a/source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java
+++ b/source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java
@@ -1,16 +1,37 @@
package com.jd.blockchain.peer.web;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.jd.blockchain.binaryproto.BinaryProtocol;
+import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.ledger.*;
-import com.jd.blockchain.ledger.core.*;
-import com.jd.blockchain.ledger.core.impl.LedgerQueryService;
-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.ParticipantCertData;
+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.QueryUtil;
-import com.jd.blockchain.utils.ValueType;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(path = "/")
@@ -318,11 +339,11 @@ public class LedgerQueryController implements BlockchainQueryService {
for (int i = 0; i < entries.length; i++) {
ver = dataAccount.getDataVersion(Bytes.fromString(keys[i]));
if (ver < 0) {
- entries[i] = new KVDataObject(keys[i], -1, ValueType.NIL, null);
+ entries[i] = new KVDataObject(keys[i], -1, PrimitiveType.NIL, null);
}else {
byte[] value = dataAccount.getBytes(Bytes.fromString(keys[i]), ver);
- BytesValue decodeData = BinaryEncodingUtils.decode(value);
- entries[i] = new KVDataObject(keys[i], ver, ValueType.valueOf(decodeData.getType().CODE), decodeData.getValue().toBytes());
+ BytesValue decodeData = BinaryProtocol.decode(value);
+ entries[i] = new KVDataObject(keys[i], ver, PrimitiveType.valueOf(decodeData.getType().CODE), decodeData.getValue().toBytes());
}
}
diff --git a/source/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java b/source/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java
index 0f0c3127..0e8c863e 100644
--- a/source/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java
+++ b/source/peer/src/main/java/com/jd/blockchain/peer/web/ManagementController.java
@@ -38,11 +38,11 @@ import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.core.LedgerAdminAccount;
import com.jd.blockchain.ledger.core.LedgerManage;
import com.jd.blockchain.ledger.core.LedgerRepository;
-import com.jd.blockchain.manage.GatewayIncomingSetting;
-import com.jd.blockchain.manage.LedgerIncomingSetting;
import com.jd.blockchain.peer.ConsensusRealm;
import com.jd.blockchain.peer.LedgerBindingConfigAware;
import com.jd.blockchain.peer.PeerManage;
+import com.jd.blockchain.setting.GatewayIncomingSetting;
+import com.jd.blockchain.setting.LedgerIncomingSetting;
import com.jd.blockchain.storage.service.DbConnection;
import com.jd.blockchain.storage.service.DbConnectionFactory;
import com.jd.blockchain.tools.initializer.LedgerBindingConfig;
diff --git a/source/pom.xml b/source/pom.xml
index 2f1a1d74..3b9b2efa 100644
--- a/source/pom.xml
+++ b/source/pom.xml
@@ -41,7 +41,7 @@
0.8.1-SNAPSHOT
0.0.8.RELEASE
- 0.6.4.RELEASE
+ 0.6.6.RELEASE
@@ -66,7 +66,7 @@
1.10.19
4.5.1
- 9.4.12.v20180830
+ 9.4.17.v20190418
1.2.3
3.3.6
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java
index c05a0ab7..66c8b604 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainExtendQueryService.java
@@ -10,6 +10,8 @@ package com.jd.blockchain.sdk;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.LedgerBlock;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java
index 13f78855..e24f8a80 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/BlockchainService.java
@@ -1,5 +1,7 @@
package com.jd.blockchain.sdk;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+
/**
* 区块链服务;
*
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java
index a8e8b74f..df1d2689 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/LedgerAccessContext.java
@@ -2,7 +2,8 @@ package com.jd.blockchain.sdk;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.CryptoSetting;
-import com.jd.blockchain.ledger.data.TransactionService;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+import com.jd.blockchain.transaction.TransactionService;
public interface LedgerAccessContext {
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java
index 5d35623f..f4bd68be 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/ManagementHttpService.java
@@ -1,10 +1,9 @@
package com.jd.blockchain.sdk;
import com.jd.blockchain.consensus.ClientIdentifications;
-import com.jd.blockchain.manage.GatewayIncomingSetting;
-
import com.jd.blockchain.sdk.converters.BinarySerializeRequestConverter;
import com.jd.blockchain.sdk.converters.BinarySerializeResponseConverter;
+import com.jd.blockchain.setting.GatewayIncomingSetting;
import com.jd.blockchain.utils.http.HttpAction;
import com.jd.blockchain.utils.http.HttpMethod;
import com.jd.blockchain.utils.http.HttpService;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java
index 92168134..317bd6e6 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeRequestConverter.java
@@ -8,10 +8,10 @@
*/
package com.jd.blockchain.sdk.converters;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.consensus.ClientIdentifications;
import com.jd.blockchain.ledger.TransactionRequest;
-import com.jd.blockchain.ledger.data.TxRequestMessage;
+import com.jd.blockchain.transaction.TxRequestMessage;
import com.jd.blockchain.utils.http.RequestBodyConverter;
import java.io.IOException;
@@ -32,11 +32,11 @@ public class BinarySerializeRequestConverter implements RequestBodyConverter {
public void write(Object param, OutputStream out) throws IOException {
// 使用自定义的序列化方式
if (param instanceof TransactionRequest) {
- byte[] serializeBytes = BinaryEncodingUtils.encode(param, TransactionRequest.class);
+ byte[] serializeBytes = BinaryProtocol.encode(param, TransactionRequest.class);
out.write(serializeBytes);
out.flush();
} else if (param instanceof ClientIdentifications) {
- byte[] serializeBytes = BinaryEncodingUtils.encode(param, ClientIdentifications.class);
+ byte[] serializeBytes = BinaryProtocol.encode(param, ClientIdentifications.class);
out.write(serializeBytes);
out.flush();
}
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java
index 163bc33e..32664abc 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/BinarySerializeResponseConverter.java
@@ -8,8 +8,8 @@
*/
package com.jd.blockchain.sdk.converters;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
+import com.jd.blockchain.transaction.TxResponseMessage;
import com.jd.blockchain.utils.http.HttpServiceContext;
import com.jd.blockchain.utils.http.ResponseConverter;
import com.jd.blockchain.utils.http.agent.ServiceRequest;
@@ -30,7 +30,7 @@ public class BinarySerializeResponseConverter implements ResponseConverter {
public Object getResponse(ServiceRequest request, InputStream responseStream, HttpServiceContext serviceContext)
throws Exception {
byte[] serializeBytes = BytesUtils.readBytes(responseStream);
- Object resolvedObj = BinaryEncodingUtils.decode(serializeBytes);
+ Object resolvedObj = BinaryProtocol.decode(serializeBytes);
return resolvedObj;
}
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java
index ec30787a..c19e3bbb 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/converters/HashDigestsResponseConverter.java
@@ -3,11 +3,11 @@ package com.jd.blockchain.sdk.converters;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.PubKey;
import com.jd.blockchain.crypto.SignatureDigest;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
+import com.jd.blockchain.transaction.TxResponseMessage;
import com.jd.blockchain.utils.codec.Base58Utils;
import com.jd.blockchain.utils.http.HttpServiceContext;
import com.jd.blockchain.utils.http.ResponseConverter;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java
index 081f5be8..da602b9b 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/BlockchainServiceProxy.java
@@ -2,12 +2,12 @@ package com.jd.blockchain.sdk.proxy;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.*;
-import com.jd.blockchain.ledger.data.TransactionService;
-import com.jd.blockchain.ledger.data.TxTemplate;
import com.jd.blockchain.sdk.BlockchainEventHandle;
import com.jd.blockchain.sdk.BlockchainEventListener;
-import com.jd.blockchain.sdk.BlockchainQueryService;
import com.jd.blockchain.sdk.BlockchainService;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+import com.jd.blockchain.transaction.TransactionService;
+import com.jd.blockchain.transaction.TxTemplate;
public abstract class BlockchainServiceProxy implements BlockchainService {
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java
index aa7188c6..19df6c9a 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/proxy/HttpBlockchainQueryService.java
@@ -3,9 +3,8 @@ package com.jd.blockchain.sdk.proxy;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.*;
import com.jd.blockchain.sdk.BlockchainExtendQueryService;
-import com.jd.blockchain.sdk.BlockchainQueryService;
-
import com.jd.blockchain.sdk.converters.HashDigestsResponseConverter;
+import com.jd.blockchain.transaction.BlockchainQueryService;
import com.jd.blockchain.utils.http.*;
import com.jd.blockchain.utils.web.client.WebResponseConverterFactory;
import com.jd.blockchain.sdk.converters.HashDigestToStringConverter;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java
index 9ae5db3b..3fbc3a2d 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/ConsensusTransactionService.java
@@ -4,7 +4,7 @@ import com.jd.blockchain.consensus.ActionMessage;
import com.jd.blockchain.consensus.OrderedAction;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
-import com.jd.blockchain.ledger.data.TransactionService;
+import com.jd.blockchain.transaction.TransactionService;
/**
* 带共识的交易服务;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java
index 8b4c3aad..52f289a8 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/NodeSigningAppender.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.sdk.service;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.consensus.MessageService;
import com.jd.blockchain.consensus.client.ConsensusClient;
@@ -13,9 +13,9 @@ import com.jd.blockchain.crypto.SignatureFunction;
import com.jd.blockchain.ledger.NodeRequest;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
-import com.jd.blockchain.ledger.data.DigitalSignatureBlob;
-import com.jd.blockchain.ledger.data.TransactionService;
-import com.jd.blockchain.ledger.data.TxRequestMessage;
+import com.jd.blockchain.transaction.DigitalSignatureBlob;
+import com.jd.blockchain.transaction.TransactionService;
+import com.jd.blockchain.transaction.TxRequestMessage;
import com.jd.blockchain.utils.concurrent.AsyncFuture;
/**
@@ -63,7 +63,7 @@ public class NodeSigningAppender implements TransactionService {
TxRequestMessage txMessage = new TxRequestMessage(txRequest);
// 生成网关签名;
- byte[] endpointRequestBytes = BinaryEncodingUtils.encode(txMessage, TransactionRequest.class);
+ byte[] endpointRequestBytes = BinaryProtocol.encode(txMessage, TransactionRequest.class);
short signAlgorithm = nodeKeyPair.getAlgorithm();
SignatureFunction signFunc = Crypto.getSignatureFunction(signAlgorithm);
@@ -71,13 +71,13 @@ public class NodeSigningAppender implements TransactionService {
txMessage.addNodeSignatures(new DigitalSignatureBlob(nodeKeyPair.getPubKey(), signDigest));
// 计算交易哈希;
- byte[] nodeRequestBytes = BinaryEncodingUtils.encode(txMessage, TransactionRequest.class);
+ byte[] nodeRequestBytes = BinaryProtocol.encode(txMessage, TransactionRequest.class);
HashFunction hashFunc = Crypto.getHashFunction(signAlgorithm);
HashDigest txHash = hashFunc.hash(nodeRequestBytes);
txMessage.setHash(txHash);
- AsyncFuture result = messageService.sendOrdered(BinaryEncodingUtils.encode(txMessage, TransactionRequest.class));
+ AsyncFuture result = messageService.sendOrdered(BinaryProtocol.encode(txMessage, TransactionRequest.class));
- return BinaryEncodingUtils.decode(result.get());
+ return BinaryProtocol.decode(result.get());
}
}
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
index 56f0b12a..c3504185 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerBlockchainServiceFactory.java
@@ -7,11 +7,12 @@ import com.jd.blockchain.consensus.client.ConsensusClient;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.CryptoSetting;
-import com.jd.blockchain.ledger.data.TransactionService;
-import com.jd.blockchain.manage.GatewayIncomingSetting;
-import com.jd.blockchain.manage.LedgerIncomingSetting;
import com.jd.blockchain.sdk.*;
import com.jd.blockchain.sdk.proxy.HttpBlockchainQueryService;
+import com.jd.blockchain.setting.GatewayIncomingSetting;
+import com.jd.blockchain.setting.LedgerIncomingSetting;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+import com.jd.blockchain.transaction.TransactionService;
import com.jd.blockchain.utils.http.agent.HttpServiceAgent;
import com.jd.blockchain.utils.http.agent.ServiceConnection;
import com.jd.blockchain.utils.http.agent.ServiceConnectionManager;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java
index 4324ea79..535b45f5 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/PeerServiceProxy.java
@@ -3,11 +3,11 @@ package com.jd.blockchain.sdk.service;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
-import com.jd.blockchain.ledger.data.TransactionService;
import com.jd.blockchain.sdk.BlockchainException;
-import com.jd.blockchain.sdk.BlockchainQueryService;
import com.jd.blockchain.sdk.LedgerAccessContext;
import com.jd.blockchain.sdk.proxy.BlockchainServiceProxy;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+import com.jd.blockchain.transaction.TransactionService;
import java.util.HashMap;
import java.util.List;
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java
index f150cf91..9a192577 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionRequestMessageConverter.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.sdk.service;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.consensus.BinaryMessageConverter;
import com.jd.blockchain.ledger.TransactionRequest;
@@ -8,12 +8,12 @@ public class TransactionRequestMessageConverter implements BinaryMessageConverte
@Override
public byte[] encode(Object message) {
- return BinaryEncodingUtils.encode(message, TransactionRequest.class);
+ return BinaryProtocol.encode(message, TransactionRequest.class);
}
@Override
public Object decode(byte[] messageBytes) {
- return BinaryEncodingUtils.decode(messageBytes);
+ return BinaryProtocol.decode(messageBytes);
}
}
diff --git a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java
index 3748c865..01a36973 100644
--- a/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java
+++ b/source/sdk/sdk-base/src/main/java/com/jd/blockchain/sdk/service/TransactionResponseMessageConverter.java
@@ -1,6 +1,6 @@
package com.jd.blockchain.sdk.service;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.consensus.BinaryMessageConverter;
import com.jd.blockchain.ledger.TransactionResponse;
@@ -8,12 +8,12 @@ public class TransactionResponseMessageConverter implements BinaryMessageConvert
@Override
public byte[] encode(Object message) {
- return BinaryEncodingUtils.encode(message, TransactionResponse.class);
+ return BinaryProtocol.encode(message, TransactionResponse.class);
}
@Override
public Object decode(byte[] messageBytes) {
- return BinaryEncodingUtils.decode(messageBytes);
+ return BinaryProtocol.decode(messageBytes);
}
}
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/Command.java b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/Command.java
deleted file mode 100644
index 8b07376e..00000000
--- a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/Command.java
+++ /dev/null
@@ -1,100 +0,0 @@
-//package com.jd.blockchain.client;
-//
-//import java.util.HashMap;
-//import java.util.Map;
-//
-//public class Command {
-//
-// private PeerClient peerClient;
-//
-// private Map executors;
-//
-// public Command(PeerClient peerClient) {
-// this.peerClient = peerClient;
-// this.executors = new HashMap<>();
-// executors.put("set", new SetCmd());
-// executors.put("get", new GetCmd());
-// executors.put("remove", new RemoveCmd());
-// executors.put("keys", new KeysCmd());
-// executors.put("contain", new ContainCmd());
-// }
-//
-// public void execute(String cmd) {
-// String[] cmdArgs = cmd.split(" ");
-// if (cmdArgs.length == 0) {
-// System.out.println("Illegal input!!");
-// return;
-// }
-//
-// String command = cmdArgs[0].trim();
-// String[] args = new String[cmdArgs.length - 1];
-// for (int i = 1; i < cmdArgs.length; i++) {
-// args[i - 1] = cmdArgs[i].trim();
-// }
-//
-// CmdExecutor executor = executors.get(command);
-// executor.execute(args);
-// }
-//
-// private static interface CmdExecutor {
-//
-// public void execute(String[] args);
-//
-// }
-//
-// private class SetCmd implements CmdExecutor {
-// @Override
-// public void execute(String[] args) {
-// if (args.length < 2) {
-// System.out.println("SET command require 2 args!");
-// return;
-// }
-// String result = peerClient.set(args[0], args[1]);
-// System.out.println("ok. --[" + result + "]");
-// }
-// }
-//
-// private class GetCmd implements CmdExecutor {
-// @Override
-// public void execute(String[] args) {
-// if (args.length < 1) {
-// System.out.println("GET command require 1 args!");
-// return;
-// }
-// String result = peerClient.get(args[0]);
-// System.out.println("ok. --[" + result + "]");
-// }
-// }
-//
-// private class RemoveCmd implements CmdExecutor {
-// @Override
-// public void execute(String[] args) {
-// if (args.length < 1) {
-// System.out.println("REMOVE command require 1 args!");
-// return;
-// }
-// String result = peerClient.remove(args[0]);
-// System.out.println("ok. --[" + result + "]");
-// }
-// }
-//
-// private class KeysCmd implements CmdExecutor {
-// @Override
-// public void execute(String[] args) {
-// String[] result = peerClient.getKeys();
-// System.out.println("ok. --[" + result + "]");
-// }
-// }
-//
-// private class ContainCmd implements CmdExecutor {
-// @Override
-// public void execute(String[] args) {
-// if (args.length < 1) {
-// System.out.println("CONTAIN command require 1 args!");
-// return;
-// }
-// boolean result = peerClient.contain(args[0]);
-// System.out.println("ok. --[" + result + "]");
-// }
-// }
-//}
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/PeerClient.java b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/PeerClient.java
deleted file mode 100644
index bcc762e7..00000000
--- a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/PeerClient.java
+++ /dev/null
@@ -1,75 +0,0 @@
-//package com.jd.blockchain.client;
-//
-//import java.io.ByteArrayInputStream;
-//import java.io.IOException;
-//import java.io.ObjectInputStream;
-//
-//import com.jd.blockchain.ledger.Operation;
-//
-//import bftsmart.tom.AsynchServiceProxy;
-//
-//public class PeerClient {
-//
-// private AsynchServiceProxy peerProxy;
-//
-// public PeerClient(int clientId) {
-// this.peerProxy = new AsynchServiceProxy(clientId);
-// }
-//
-// public void close(){
-// peerProxy.close();
-// }
-//
-// public String set(String key, String value){
-// Operation.SetOP setOP = new Operation.SetOP(key, value);
-// byte[] reply = peerProxy.invokeOrdered(setOP.toBytes());
-//
-// return resolveResult(reply, String.class);
-// }
-//
-//
-// public String remove(String key){
-// Operation.RemoveOP removeOP = new Operation.RemoveOP(key);
-// byte[] reply = peerProxy.invokeOrdered(removeOP.toBytes());
-//
-// return resolveResult(reply, String.class);
-// }
-//
-// public String get(String key){
-// Operation.GetOP getOP = new Operation.GetOP(key);
-// byte[] reply = peerProxy.invokeUnordered(getOP.toBytes());
-//
-// return resolveResult(reply, String.class);
-// }
-//
-// public String[] getKeys(){
-// Operation.KeysOP keysOP = new Operation.KeysOP();
-// byte[] reply = peerProxy.invokeUnordered(keysOP.toBytes());
-//
-// return resolveResult(reply, String[].class);
-// }
-//
-// public boolean contain(String key){
-// Operation.ContainOP containOP = new Operation.ContainOP(key);
-// byte[] reply = peerProxy.invokeUnordered(containOP.toBytes());
-//
-// return resolveResult(reply, Boolean.class);
-// }
-//
-// @SuppressWarnings("unchecked")
-// public static T resolveResult(byte[] bytes, Class resultType){
-// if (bytes == null || bytes.length == 0) {
-// return null;
-// }
-// try {
-// ByteArrayInputStream bi = new ByteArrayInputStream(bytes);
-// ObjectInputStream in = new ObjectInputStream(bi);
-// Object op = in.readObject();
-// return (T) op;
-// } catch (ClassNotFoundException e) {
-// throw new IllegalStateException(e.getMessage(), e);
-// } catch (IOException e) {
-// throw new IllegalStateException(e.getMessage(), e);
-// }
-// }
-//}
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/PeerClientDemo.java b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/PeerClientDemo.java
deleted file mode 100644
index cad4ceb0..00000000
--- a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/client/PeerClientDemo.java
+++ /dev/null
@@ -1,35 +0,0 @@
-//package com.jd.blockchain.client;
-//
-//import java.io.Console;
-//
-//public class PeerClientDemo {
-//
-// public static void main(String[] args) {
-// int clientId;
-// if (args.length == 0) {
-//// System.out.println("No client id !!!");
-//// return;
-// clientId = 7;
-// }else{
-// clientId = Integer.parseInt(args[0]);
-// }
-//
-// PeerClient client = new PeerClient(clientId);
-// Command cmd = new Command(client);
-// System.out.println("---------------- Client["+clientId+"] started -----------------");
-//
-// do {
-// System.out.println(">>");
-// Console console = System.console();
-// String op = console.readLine();
-// if ("exit".equalsIgnoreCase(op)) {
-// break;
-// }
-// cmd.execute(op);
-// } while (true);
-////
-// System.out.println("Client exist!");
-// client.close();
-// }
-//
-//}
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java
index b78dff08..940acbee 100644
--- a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java
+++ b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayBlockchainServiceProxy.java
@@ -1,9 +1,9 @@
package com.jd.blockchain.sdk.client;
import com.jd.blockchain.crypto.HashDigest;
-import com.jd.blockchain.ledger.data.TransactionService;
-import com.jd.blockchain.sdk.BlockchainQueryService;
import com.jd.blockchain.sdk.proxy.BlockchainServiceProxy;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+import com.jd.blockchain.transaction.TransactionService;
public class GatewayBlockchainServiceProxy extends BlockchainServiceProxy {
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java
index ba0d9eaa..49348b90 100644
--- a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java
+++ b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/GatewayServiceFactory.java
@@ -2,7 +2,7 @@ package com.jd.blockchain.sdk.client;
import java.io.Closeable;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.PrivKey;
import com.jd.blockchain.crypto.SignatureDigest;
@@ -12,13 +12,13 @@ import com.jd.blockchain.ledger.DigitalSignature;
import com.jd.blockchain.ledger.TransactionContent;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
-import com.jd.blockchain.ledger.data.DigitalSignatureBlob;
-import com.jd.blockchain.ledger.data.TransactionService;
-import com.jd.blockchain.ledger.data.TxRequestMessage;
-import com.jd.blockchain.sdk.BlockchainQueryService;
import com.jd.blockchain.sdk.BlockchainService;
import com.jd.blockchain.sdk.BlockchainServiceFactory;
import com.jd.blockchain.sdk.proxy.HttpBlockchainQueryService;
+import com.jd.blockchain.transaction.BlockchainQueryService;
+import com.jd.blockchain.transaction.DigitalSignatureBlob;
+import com.jd.blockchain.transaction.TransactionService;
+import com.jd.blockchain.transaction.TxRequestMessage;
import com.jd.blockchain.utils.http.agent.HttpServiceAgent;
import com.jd.blockchain.utils.http.agent.ServiceConnection;
import com.jd.blockchain.utils.http.agent.ServiceConnectionManager;
@@ -135,7 +135,7 @@ public class GatewayServiceFactory implements BlockchainServiceFactory, Closeabl
//TODO: 未实现按不同的账本的密码参数配置,采用不同的哈希算法和签名算法;
if (!reqMsg.containsEndpointSignature(userKey.getAddress())) {
// TODO: 优化上下文对此 TransactionContent 的多次序列化带来的额外性能开销;
- byte[] txContentBytes = BinaryEncodingUtils.encode(txRequest.getTransactionContent(),
+ byte[] txContentBytes = BinaryProtocol.encode(txRequest.getTransactionContent(),
TransactionContent.class);
PrivKey userPrivKey = userKey.getPrivKey();
SignatureFunction signatureFunction = Crypto.getSignatureFunction(userKey.getAlgorithm());
diff --git a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java
index 69368504..9485436f 100644
--- a/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java
+++ b/source/sdk/sdk-client/src/main/java/com/jd/blockchain/sdk/client/HttpConsensusService.java
@@ -2,9 +2,9 @@ package com.jd.blockchain.sdk.client;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
-import com.jd.blockchain.ledger.data.TransactionService;
import com.jd.blockchain.sdk.converters.BinarySerializeRequestConverter;
import com.jd.blockchain.sdk.converters.BinarySerializeResponseConverter;
+import com.jd.blockchain.transaction.TransactionService;
import com.jd.blockchain.utils.http.HttpAction;
import com.jd.blockchain.utils.http.HttpMethod;
import com.jd.blockchain.utils.http.HttpService;
diff --git a/source/sdk/sdk-samples/pom.xml b/source/sdk/sdk-samples/pom.xml
index bc85d375..b6c36f6d 100644
--- a/source/sdk/sdk-samples/pom.xml
+++ b/source/sdk/sdk-samples/pom.xml
@@ -1,4 +1,5 @@
-
4.0.0
@@ -16,7 +17,7 @@
com.jd.blockchain
- contract-model
+ ledger-model
${project.version}
@@ -31,18 +32,17 @@
org.apache.maven.plugins
maven-deploy-plugin
- 2.8.2
true
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java
index 8b343649..a6b91415 100644
--- a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java
+++ b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContract.java
@@ -1,7 +1,7 @@
package com.jd.blockchain.contract.samples;
-import com.jd.blockchain.contract.model.Contract;
-import com.jd.blockchain.contract.model.ContractEvent;
+import com.jd.blockchain.contract.Contract;
+import com.jd.blockchain.contract.ContractEvent;
/**
* 示例:一个“资产管理”智能合约;
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java
index 31e962a0..ab644986 100644
--- a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java
+++ b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/contract/samples/AssetContractImpl.java
@@ -4,9 +4,9 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import com.jd.blockchain.contract.model.ContractException;
-import com.jd.blockchain.contract.model.ContractEventContext;
-import com.jd.blockchain.contract.model.EventProcessingAwire;
+import com.jd.blockchain.contract.ContractEventContext;
+import com.jd.blockchain.contract.ContractException;
+import com.jd.blockchain.contract.EventProcessingAwire;
import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.ledger.BlockchainIdentity;
import com.jd.blockchain.ledger.KVDataEntry;
diff --git a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java
index ef0753bd..f88e1cf9 100644
--- a/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java
+++ b/source/sdk/sdk-samples/src/main/java/com/jd/blockchain/sdk/samples/SDKDemo_Contract.java
@@ -1,5 +1,6 @@
package com.jd.blockchain.sdk.samples;
+import com.jd.blockchain.contract.samples.AssetContract;
import com.jd.blockchain.crypto.AsymmetricKeypair;
import com.jd.blockchain.crypto.Crypto;
import com.jd.blockchain.crypto.HashDigest;
@@ -35,12 +36,6 @@ public class SDKDemo_Contract {
new NetworkAddress("192.168.10.11", 8080), new NetworkAddress("192.168.10.12", 8080),
new NetworkAddress("192.168.10.13", 8080) };
- // 网关客户端编号;
- int gatewayId = 1001;
- // 客户端的认证账户;
- // String clientAddress = "kkjsafieweqEkadsfaslkdslkae998232jojf==";
- // String privKey = "safefsd32q34vdsvs";
-
// 创建服务代理;
final String GATEWAY_IP = "127.0.0.1";
final int GATEWAY_PORT = 80;
@@ -72,15 +67,10 @@ public class SDKDemo_Contract {
// 备注信息;
Remark remark = new Remark();
String remarkJSON = JSONSerializeUtils.serializeToJSON(remark);
+
+// AssetContract assetContract = txTemp.contract("", AssetContract.class);
+// txTemp.contractInvocation(assetContract.issue(amount, assetHolderAddress))
- // 合约代码的参数表;
- ByteArray[] args = {};
- // 调用合约代码的分配操作;
- // txTemp.deployContract().deploy(identity, appByteCodes);
-
- // todo args暂时无数据,尚未确定填入什么
- txTemp.contractEvents().send(commerceAccount, "trans-asset", null);
-// txTemp.invokeContract().send(commerceAccount, "trans-asset", args);
// --------------------------------------
// TX 准备就绪;
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java
index c7dae27f..644bf609 100644
--- a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java
+++ b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_BatchInsertData_Test_.java
@@ -30,9 +30,9 @@ import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionState;
import com.jd.blockchain.ledger.TransactionTemplate;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
import com.jd.blockchain.sdk.BlockchainTransactionService;
import com.jd.blockchain.sdk.client.GatewayServiceFactory;
+import com.jd.blockchain.transaction.TxResponseMessage;
import com.jd.blockchain.utils.codec.Base58Utils;
/**
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java
index 4976b92b..7d343505 100644
--- a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java
+++ b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_DataAccount_Test_.java
@@ -28,9 +28,9 @@ import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionState;
import com.jd.blockchain.ledger.TransactionTemplate;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
import com.jd.blockchain.sdk.BlockchainService;
import com.jd.blockchain.sdk.client.GatewayServiceFactory;
+import com.jd.blockchain.transaction.TxResponseMessage;
/**
* 插入数据测试
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java
index ccf6f333..07dba29f 100644
--- a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java
+++ b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_InsertData_Test_.java
@@ -30,9 +30,9 @@ import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionState;
import com.jd.blockchain.ledger.TransactionTemplate;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
import com.jd.blockchain.sdk.BlockchainTransactionService;
import com.jd.blockchain.sdk.client.GatewayServiceFactory;
+import com.jd.blockchain.transaction.TxResponseMessage;
/**
* 插入数据测试
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java
index 937b4604..a5343eb6 100644
--- a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java
+++ b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_Query_Test_.java
@@ -38,9 +38,9 @@ import com.jd.blockchain.ledger.TransactionContentBody;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionState;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
import com.jd.blockchain.sdk.BlockchainService;
import com.jd.blockchain.sdk.client.GatewayServiceFactory;
+import com.jd.blockchain.transaction.TxResponseMessage;
import com.jd.blockchain.utils.serialize.json.JSONSerializeUtils;
/**
diff --git a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java
index 382466e9..65cce89b 100644
--- a/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java
+++ b/source/sdk/sdk-samples/src/test/java/test/com/jd/blockchain/sdk/test/SDK_GateWay_User_Test_.java
@@ -32,9 +32,9 @@ import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionResponse;
import com.jd.blockchain.ledger.TransactionState;
import com.jd.blockchain.ledger.TransactionTemplate;
-import com.jd.blockchain.ledger.data.TxResponseMessage;
import com.jd.blockchain.sdk.BlockchainService;
import com.jd.blockchain.sdk.client.GatewayServiceFactory;
+import com.jd.blockchain.transaction.TxResponseMessage;
/**
* 插入数据测试
diff --git a/source/test/test-integration/pom.xml b/source/test/test-integration/pom.xml
index 8e2e4946..b84a54bd 100644
--- a/source/test/test-integration/pom.xml
+++ b/source/test/test-integration/pom.xml
@@ -40,11 +40,6 @@
sdk-client
${project.version}
-
- com.jd.blockchain
- contract-model
- ${project.version}
-
io.nats
jnats
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java b/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java
index c131930e..2a72c515 100644
--- a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java
+++ b/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerInitializeWebTest.java
@@ -9,7 +9,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.io.ClassPathResource;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.consensus.ConsensusProvider;
import com.jd.blockchain.consensus.ConsensusProviders;
import com.jd.blockchain.consensus.ConsensusSettings;
@@ -127,28 +127,28 @@ public class LedgerInitializeWebTest {
LedgerInitOperation initOp0 = (LedgerInitOperation) oplist0[0];
LedgerInitOperation initOp1 = (LedgerInitOperation) oplist1[0];
- byte[] initOpBytes0 = BinaryEncodingUtils.encode(initOp0, LedgerInitOperation.class);
- byte[] initOpBytes1 = BinaryEncodingUtils.encode(initOp1, LedgerInitOperation.class);
+ byte[] initOpBytes0 = BinaryProtocol.encode(initOp0, LedgerInitOperation.class);
+ byte[] initOpBytes1 = BinaryProtocol.encode(initOp1, LedgerInitOperation.class);
UserRegisterOperation regOp00 = (UserRegisterOperation) oplist0[1];
UserRegisterOperation regOp10 = (UserRegisterOperation) oplist1[1];
- byte[] regOpBytes00 = BinaryEncodingUtils.encode(regOp00, UserRegisterOperation.class);
- byte[] regOpBytes10 = BinaryEncodingUtils.encode(regOp10, UserRegisterOperation.class);
+ byte[] regOpBytes00 = BinaryProtocol.encode(regOp00, UserRegisterOperation.class);
+ byte[] regOpBytes10 = BinaryProtocol.encode(regOp10, UserRegisterOperation.class);
UserRegisterOperation regOp01 = (UserRegisterOperation) oplist0[2];
UserRegisterOperation regOp11 = (UserRegisterOperation) oplist1[2];
- byte[] regOpBytes01 = BinaryEncodingUtils.encode(regOp01, UserRegisterOperation.class);
- byte[] regOpBytes11 = BinaryEncodingUtils.encode(regOp11, UserRegisterOperation.class);
+ byte[] regOpBytes01 = BinaryProtocol.encode(regOp01, UserRegisterOperation.class);
+ byte[] regOpBytes11 = BinaryProtocol.encode(regOp11, UserRegisterOperation.class);
UserRegisterOperation regOp02 = (UserRegisterOperation) oplist0[3];
UserRegisterOperation regOp12 = (UserRegisterOperation) oplist1[3];
- byte[] regOpBytes02 = BinaryEncodingUtils.encode(regOp02, UserRegisterOperation.class);
- byte[] regOpBytes12 = BinaryEncodingUtils.encode(regOp12, UserRegisterOperation.class);
+ byte[] regOpBytes02 = BinaryProtocol.encode(regOp02, UserRegisterOperation.class);
+ byte[] regOpBytes12 = BinaryProtocol.encode(regOp12, UserRegisterOperation.class);
UserRegisterOperation regOp03 = (UserRegisterOperation) oplist0[4];
UserRegisterOperation regOp13 = (UserRegisterOperation) oplist1[4];
- byte[] regOpBytes03 = BinaryEncodingUtils.encode(regOp03, UserRegisterOperation.class);
- byte[] regOpBytes13 = BinaryEncodingUtils.encode(regOp13, UserRegisterOperation.class);
+ byte[] regOpBytes03 = BinaryProtocol.encode(regOp03, UserRegisterOperation.class);
+ byte[] regOpBytes13 = BinaryProtocol.encode(regOp13, UserRegisterOperation.class);
}
diff --git a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java b/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java
index d2e13f49..ec035f22 100644
--- a/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java
+++ b/source/test/test-integration/src/main/java/test/com/jd/blockchain/intgr/perf/LedgerPerformanceTest.java
@@ -38,8 +38,7 @@ import com.jd.blockchain.ledger.core.LedgerRepository;
import com.jd.blockchain.ledger.core.impl.DefaultOperationHandleRegisteration;
import com.jd.blockchain.ledger.core.impl.LedgerManager;
import com.jd.blockchain.ledger.core.impl.TransactionBatchProcessor;
-import com.jd.blockchain.ledger.data.TxBuilder;
-import com.jd.blockchain.ledger.service.TransactionBatchResultHandle;
+import com.jd.blockchain.service.TransactionBatchResultHandle;
import com.jd.blockchain.storage.service.DbConnectionFactory;
import com.jd.blockchain.storage.service.impl.redis.JedisConnection;
import com.jd.blockchain.storage.service.impl.redis.RedisConnectionFactory;
@@ -51,6 +50,7 @@ import com.jd.blockchain.tools.initializer.LedgerInitProperties;
import com.jd.blockchain.tools.initializer.Prompter;
import com.jd.blockchain.tools.initializer.web.LedgerInitConsensusService;
import com.jd.blockchain.tools.keygen.KeyGenCommand;
+import com.jd.blockchain.transaction.TxBuilder;
import com.jd.blockchain.utils.ArgumentSet;
import com.jd.blockchain.utils.ConsoleUtils;
import com.jd.blockchain.utils.concurrent.ThreadInvoker.AsyncCallback;
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java b/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java
index 4c60f314..bdc80ae4 100644
--- a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java
+++ b/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/initializer/LedgerInitializeWeb4SingleStepsTest.java
@@ -14,7 +14,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.io.ClassPathResource;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.consensus.ConsensusProvider;
import com.jd.blockchain.consensus.ConsensusSettings;
import com.jd.blockchain.crypto.HashDigest;
@@ -29,7 +29,6 @@ import com.jd.blockchain.ledger.core.LedgerInitDecision;
import com.jd.blockchain.ledger.core.LedgerInitPermission;
import com.jd.blockchain.ledger.core.LedgerRepository;
import com.jd.blockchain.ledger.core.impl.LedgerManager;
-import com.jd.blockchain.ledger.data.TxRequestBuilder;
import com.jd.blockchain.storage.service.DbConnection;
import com.jd.blockchain.storage.service.impl.composite.CompositeConnectionFactory;
import com.jd.blockchain.tools.initializer.DBConnectionConfig;
@@ -42,6 +41,7 @@ import com.jd.blockchain.tools.initializer.web.HttpInitConsensServiceFactory;
import com.jd.blockchain.tools.initializer.web.LedgerInitConsensusService;
import com.jd.blockchain.tools.initializer.web.LedgerInitializeWebController;
import com.jd.blockchain.tools.keygen.KeyGenCommand;
+import com.jd.blockchain.transaction.TxRequestBuilder;
import com.jd.blockchain.utils.concurrent.ThreadInvoker;
import com.jd.blockchain.utils.concurrent.ThreadInvoker.AsyncCallback;
import com.jd.blockchain.utils.io.BytesUtils;
@@ -138,32 +138,32 @@ public class LedgerInitializeWeb4SingleStepsTest {
LedgerInitOperation initOp0 = (LedgerInitOperation) oplist0[0];
LedgerInitOperation initOp1 = (LedgerInitOperation) oplist1[0];
- byte[] initOpBytes0 = BinaryEncodingUtils.encode(initOp0, LedgerInitOperation.class);
- byte[] initOpBytes1 = BinaryEncodingUtils.encode(initOp1, LedgerInitOperation.class);
+ byte[] initOpBytes0 = BinaryProtocol.encode(initOp0, LedgerInitOperation.class);
+ byte[] initOpBytes1 = BinaryProtocol.encode(initOp1, LedgerInitOperation.class);
assertTrue(BytesUtils.equals(initOpBytes0, initOpBytes1));
UserRegisterOperation regOp00 = (UserRegisterOperation) oplist0[1];
UserRegisterOperation regOp10 = (UserRegisterOperation) oplist1[1];
- byte[] regOpBytes00 = BinaryEncodingUtils.encode(regOp00, UserRegisterOperation.class);
- byte[] regOpBytes10 = BinaryEncodingUtils.encode(regOp10, UserRegisterOperation.class);
+ byte[] regOpBytes00 = BinaryProtocol.encode(regOp00, UserRegisterOperation.class);
+ byte[] regOpBytes10 = BinaryProtocol.encode(regOp10, UserRegisterOperation.class);
assertTrue(BytesUtils.equals(regOpBytes00, regOpBytes10));
UserRegisterOperation regOp01 = (UserRegisterOperation) oplist0[2];
UserRegisterOperation regOp11 = (UserRegisterOperation) oplist1[2];
- byte[] regOpBytes01 = BinaryEncodingUtils.encode(regOp01, UserRegisterOperation.class);
- byte[] regOpBytes11 = BinaryEncodingUtils.encode(regOp11, UserRegisterOperation.class);
+ byte[] regOpBytes01 = BinaryProtocol.encode(regOp01, UserRegisterOperation.class);
+ byte[] regOpBytes11 = BinaryProtocol.encode(regOp11, UserRegisterOperation.class);
assertTrue(BytesUtils.equals(regOpBytes01, regOpBytes11));
UserRegisterOperation regOp02 = (UserRegisterOperation) oplist0[3];
UserRegisterOperation regOp12 = (UserRegisterOperation) oplist1[3];
- byte[] regOpBytes02 = BinaryEncodingUtils.encode(regOp02, UserRegisterOperation.class);
- byte[] regOpBytes12 = BinaryEncodingUtils.encode(regOp12, UserRegisterOperation.class);
+ byte[] regOpBytes02 = BinaryProtocol.encode(regOp02, UserRegisterOperation.class);
+ byte[] regOpBytes12 = BinaryProtocol.encode(regOp12, UserRegisterOperation.class);
assertTrue(BytesUtils.equals(regOpBytes02, regOpBytes12));
UserRegisterOperation regOp03 = (UserRegisterOperation) oplist0[4];
UserRegisterOperation regOp13 = (UserRegisterOperation) oplist1[4];
- byte[] regOpBytes03 = BinaryEncodingUtils.encode(regOp03, UserRegisterOperation.class);
- byte[] regOpBytes13 = BinaryEncodingUtils.encode(regOp13, UserRegisterOperation.class);
+ byte[] regOpBytes03 = BinaryProtocol.encode(regOp03, UserRegisterOperation.class);
+ byte[] regOpBytes13 = BinaryProtocol.encode(regOp13, UserRegisterOperation.class);
assertTrue(BytesUtils.equals(regOpBytes03, regOpBytes13));
}
diff --git a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java b/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java
index 0be0fff4..c350f232 100644
--- a/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java
+++ b/source/test/test-integration/src/test/java/test/com/jd/blockchain/intgr/ledger/LedgerBlockGeneratingTest.java
@@ -30,13 +30,13 @@ import com.jd.blockchain.ledger.core.LedgerRepository;
import com.jd.blockchain.ledger.core.impl.DefaultOperationHandleRegisteration;
import com.jd.blockchain.ledger.core.impl.LedgerManager;
import com.jd.blockchain.ledger.core.impl.TransactionBatchProcessor;
-import com.jd.blockchain.ledger.data.TxBuilder;
-import com.jd.blockchain.ledger.service.TransactionBatchResultHandle;
+import com.jd.blockchain.service.TransactionBatchResultHandle;
import com.jd.blockchain.tools.initializer.DBConnectionConfig;
import com.jd.blockchain.tools.initializer.LedgerInitProperties;
import com.jd.blockchain.tools.initializer.Prompter;
import com.jd.blockchain.tools.initializer.web.LedgerInitConsensusService;
import com.jd.blockchain.tools.keygen.KeyGenCommand;
+import com.jd.blockchain.transaction.TxBuilder;
import com.jd.blockchain.utils.ConsoleUtils;
import com.jd.blockchain.utils.concurrent.ThreadInvoker.AsyncCallback;
import com.jd.blockchain.utils.io.FileUtils;
diff --git a/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java b/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java
index d498dddd..f45ca863 100644
--- a/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java
+++ b/source/tools/tools-capability/src/main/java/com/jd/blockchain/capability/service/RemoteTransactionService.java
@@ -17,7 +17,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicLong;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.capability.settings.CapabilitySettings;
import com.jd.blockchain.consensus.mq.factory.MsgQueueFactory;
import com.jd.blockchain.consensus.mq.producer.MsgQueueProducer;
@@ -28,7 +28,7 @@ import com.jd.blockchain.ledger.BlockchainKeyGenerator;
import com.jd.blockchain.ledger.BlockchainKeypair;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.TransactionRequestBuilder;
-import com.jd.blockchain.ledger.data.TxBuilder;
+import com.jd.blockchain.transaction.TxBuilder;
import com.jd.blockchain.utils.Bytes;
import com.jd.blockchain.utils.ConsoleUtils;
import com.jd.blockchain.utils.io.BytesUtils;
@@ -240,7 +240,7 @@ public class RemoteTransactionService {
instanceFactory.execute(() -> {
List currentBytes = new ArrayList<>();
TransactionRequest txRequest = dataAccountRegisterRequest(CapabilitySettings.ledgerHash, CapabilitySettings.adminKey);
- byte[] serializeBytes = BinaryEncodingUtils.encode(txRequest, TransactionRequest.class);
+ byte[] serializeBytes = BinaryProtocol.encode(txRequest, TransactionRequest.class);
currentBytes.add(serializeBytes);
try {
txBlockingQueue.put(currentBytes);
@@ -285,7 +285,7 @@ public class RemoteTransactionService {
LinkedList txSerializeBytes = new LinkedList<>();
for (int i = 0; i < CapabilitySettings.TX_SIZE_PER_SEND; i++) {
TransactionRequest txRequest = userRegisterRequest(CapabilitySettings.ledgerHash, CapabilitySettings.adminKey);
- byte[] serializeBytes = BinaryEncodingUtils.encode(txRequest, TransactionRequest.class);
+ byte[] serializeBytes = BinaryProtocol.encode(txRequest, TransactionRequest.class);
txSerializeBytes.addFirst(serializeBytes);
}
return txSerializeBytes;
@@ -300,7 +300,7 @@ public class RemoteTransactionService {
LinkedList txSerializeBytes = new LinkedList<>();
for (int i = 0; i < CapabilitySettings.TX_SIZE_PER_SEND; i++) {
TransactionRequest txRequest = dataAccountRegisterRequest(CapabilitySettings.ledgerHash, CapabilitySettings.adminKey, isSave);
- byte[] serializeBytes = BinaryEncodingUtils.encode(txRequest, TransactionRequest.class);
+ byte[] serializeBytes = BinaryProtocol.encode(txRequest, TransactionRequest.class);
txSerializeBytes.addFirst(serializeBytes);
}
return txSerializeBytes;
@@ -311,7 +311,7 @@ public class RemoteTransactionService {
LinkedList txSerializeBytes = new LinkedList<>();
for (int i = 0; i < CapabilitySettings.TX_SIZE_PER_SEND; i++) {
TransactionRequest txRequest = kvStorageRequest(address, CapabilitySettings.ledgerHash, CapabilitySettings.adminKey);
- byte[] serializeBytes = BinaryEncodingUtils.encode(txRequest, TransactionRequest.class);
+ byte[] serializeBytes = BinaryProtocol.encode(txRequest, TransactionRequest.class);
txSerializeBytes.addFirst(serializeBytes);
}
return txSerializeBytes;
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java
index 4b096f48..5c7c72e2 100644
--- a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java
+++ b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionRequestBodyConverter.java
@@ -3,7 +3,7 @@ package com.jd.blockchain.tools.initializer.web;
import java.io.IOException;
import java.io.OutputStream;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.ledger.core.LedgerInitDecision;
import com.jd.blockchain.utils.http.RequestBodyConverter;
@@ -12,7 +12,7 @@ public class DecisionRequestBodyConverter implements RequestBodyConverter {
@Override
public void write(Object param, OutputStream out) throws IOException {
if (param instanceof LedgerInitDecision) {
- BinaryEncodingUtils.encode(param, LedgerInitDecision.class, out);
+ BinaryProtocol.encode(param, LedgerInitDecision.class, out);
return;
}
}
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java
index 6dcbb3d3..ba60ec8c 100644
--- a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java
+++ b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/DecisionResponseConverter.java
@@ -2,7 +2,7 @@ package com.jd.blockchain.tools.initializer.web;
import java.io.InputStream;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.tools.initializer.LedgerInitException;
import com.jd.blockchain.utils.http.HttpServiceContext;
import com.jd.blockchain.utils.http.ResponseConverter;
@@ -17,7 +17,7 @@ public class DecisionResponseConverter implements ResponseConverter {
if (resp.isError()) {
throw new LedgerInitException("Error occurred at remote participant! --" + resp.getErrorMessage());
}
- return BinaryEncodingUtils.decode(resp.getData());
+ return BinaryProtocol.decode(resp.getData());
}
}
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java
index d7af9115..5658f9f6 100644
--- a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java
+++ b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitMessageConverter.java
@@ -13,7 +13,7 @@ import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.binaryproto.DataContractRegistry;
import com.jd.blockchain.crypto.SignatureDigest;
import com.jd.blockchain.ledger.core.LedgerInitDecision;
@@ -87,7 +87,7 @@ public class LedgerInitMessageConverter implements HttpMessageConverter
Class> contractType = getContractType(clazz);
Class> implType = SUPPORTED_CONTRACT_TYPES.get(contractType);
- return BinaryEncodingUtils.decode(inputMessage.getBody());
+ return BinaryProtocol.decode(inputMessage.getBody());
}
@Override
@@ -104,7 +104,7 @@ public class LedgerInitMessageConverter implements HttpMessageConverter
if (contractType == null) {
throw new IllegalStateException("Unsupported type[" + t.getClass().getName() + "]!");
}
- byte[] data = BinaryEncodingUtils.encode(t, contractType);
+ byte[] data = BinaryProtocol.encode(t, contractType);
resp = LedgerInitResponse.success(data);
outputMessage.getBody().write(resp.toBytes());
}
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java
index 1bbf595f..42e1d5d6 100644
--- a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java
+++ b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/LedgerInitializeWebController.java
@@ -45,10 +45,6 @@ import com.jd.blockchain.ledger.core.LedgerInitPermission;
import com.jd.blockchain.ledger.core.LedgerInitPermissionData;
import com.jd.blockchain.ledger.core.LedgerManage;
import com.jd.blockchain.ledger.core.LedgerTransactionContext;
-import com.jd.blockchain.ledger.data.DigitalSignatureBlob;
-import com.jd.blockchain.ledger.data.LedgerInitSettingData;
-import com.jd.blockchain.ledger.data.TxBuilder;
-import com.jd.blockchain.ledger.data.TxRequestBuilder;
import com.jd.blockchain.storage.service.DbConnection;
import com.jd.blockchain.storage.service.DbConnectionFactory;
import com.jd.blockchain.tools.initializer.DBConnectionConfig;
@@ -57,6 +53,10 @@ import com.jd.blockchain.tools.initializer.LedgerInitException;
import com.jd.blockchain.tools.initializer.LedgerInitProcess;
import com.jd.blockchain.tools.initializer.LedgerInitProperties;
import com.jd.blockchain.tools.initializer.LedgerInitProperties.ConsensusParticipantConfig;
+import com.jd.blockchain.transaction.DigitalSignatureBlob;
+import com.jd.blockchain.transaction.LedgerInitSettingData;
+import com.jd.blockchain.transaction.TxBuilder;
+import com.jd.blockchain.transaction.TxRequestBuilder;
import com.jd.blockchain.tools.initializer.Prompter;
import com.jd.blockchain.utils.Bytes;
import com.jd.blockchain.utils.concurrent.InvocationResult;
diff --git a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java
index a0f40417..ab5b0308 100644
--- a/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java
+++ b/source/tools/tools-initializer/src/main/java/com/jd/blockchain/tools/initializer/web/PermissionResponseConverter.java
@@ -2,7 +2,7 @@ package com.jd.blockchain.tools.initializer.web;
import java.io.InputStream;
-import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
+import com.jd.blockchain.binaryproto.BinaryProtocol;
import com.jd.blockchain.ledger.core.LedgerInitPermissionData;
import com.jd.blockchain.tools.initializer.LedgerInitException;
import com.jd.blockchain.utils.http.HttpServiceContext;
@@ -18,7 +18,7 @@ public class PermissionResponseConverter implements ResponseConverter {
if (resp.isError()) {
throw new LedgerInitException("Error occurred at remote participant! --" + resp.getErrorMessage());
}
- return BinaryEncodingUtils.decode(resp.getData());
+ return BinaryProtocol.decode(resp.getData());
}
}
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java b/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java
index 7b7921b8..2aeb488e 100644
--- a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java
+++ b/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Bytes.java
@@ -8,6 +8,12 @@ import com.jd.blockchain.utils.io.BytesSerializable;
import com.jd.blockchain.utils.io.BytesUtils;
import com.jd.blockchain.utils.io.RuntimeIOException;
+/**
+ * Bytes 被设计为不可变对象;
+ *
+ * @author huanghaiquan
+ *
+ */
public class Bytes implements BytesSerializable {
public static final Bytes EMPTY = new Bytes(BytesUtils.EMPTY_BYTES);
@@ -38,7 +44,7 @@ public class Bytes implements BytesSerializable {
}
public Bytes() {
- prefix=null;
+ prefix = null;
data = null;
hashCode = hashCode(1);
}
@@ -47,7 +53,7 @@ public class Bytes implements BytesSerializable {
if (data == null) {
throw new IllegalArgumentException("data is null!");
}
- this.prefix=null;
+ this.prefix = null;
this.data = data;
hashCode = hashCode(1);
}
@@ -56,30 +62,30 @@ public class Bytes implements BytesSerializable {
if (data == null) {
throw new IllegalArgumentException("data is null!");
}
- this.prefix=prefix;
+ this.prefix = prefix;
this.data = data;
-// setPrefix(prefix);
+ // setPrefix(prefix);
hashCode = hashCode(1);
}
public Bytes(Bytes prefix, Bytes data) {
-// setData(data.toBytes());
-// setPrefix(prefix);
+ // setData(data.toBytes());
+ // setPrefix(prefix);
if (data == null) {
throw new IllegalArgumentException("data is null!");
}
- this.prefix=prefix;
+ this.prefix = prefix;
this.data = data.toBytes();
-
+
hashCode = hashCode(1);
}
-// private void setData(byte[] data) {
-// if (data == null) {
-// throw new IllegalArgumentException("data is null!");
-// }
-// this.data = data;
-// }
+ // private void setData(byte[] data) {
+ // if (data == null) {
+ // throw new IllegalArgumentException("data is null!");
+ // }
+ // this.data = data;
+ // }
/**
* 返回当前的字节数组(不包含前缀对象);
@@ -98,16 +104,16 @@ public class Bytes implements BytesSerializable {
return new Bytes(Base58Utils.decode(str));
}
-// /**
-// * 连接指定的前缀后面;此操作并不会更改“prefix”参数;
-// *
-// * @param prefix
-// * @return
-// */
-// private Bytes setPrefix(Bytes prefix) {
-// this.prefix = prefix;
-// return this;
-// }
+ // /**
+ // * 连接指定的前缀后面;此操作并不会更改“prefix”参数;
+ // *
+ // * @param prefix
+ // * @return
+ // */
+ // private Bytes setPrefix(Bytes prefix) {
+ // this.prefix = prefix;
+ // return this;
+ // }
public Bytes concat(Bytes key) {
return new Bytes(this, key);
diff --git a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ValueType.java b/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ValueType.java
deleted file mode 100644
index ccabc600..00000000
--- a/source/utils/utils-common/src/main/java/com/jd/blockchain/utils/ValueType.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.jd.blockchain.utils;
-
-/**
- * 键值操作的数据类型;
- *
- * @author huanghaiquan
- *
- */
-public enum ValueType {
-
- /**
- * 空;
- */
- NIL((byte) 0x00),
-
- /**
- * 布尔型;
- */
- BOOLEAN((byte) 0x10),
-
- /**
- * 数值型:
- */
-
- INT8((byte) 0x11),
-
- INT16((byte) 0x12),
-
- INT32((byte) 0x13),
-
- INT64((byte) 0x14),
-
- /**
- * 日期时间;
- */
- DATETIME((byte) 0x15),
-
- /**
- * 文本数据;
- */
- TEXT((byte) 0x20),
-
- /**
- * 文本数据;
- */
- JSON((byte) 0x21),
-
- /**
- * 文本数据;
- */
- XML((byte) 0x22),
-
- /**
- * 二进制数据;
- */
- BYTES((byte) 0x40),
-
- /**
- * 大整数;
- */
- BIG_INT((byte) 0x41),
-
- /**
- * 图片;
- */
- IMG((byte) 0x42),
-
- /**
- * 视频;
- */
- VIDEO((byte) 0x43),
-
- /**
- * 位置;
- */
- LOCATION((byte) 0x44);
-
-
-// /**
-// * 引用;
-// *
-// * 表示引用区块链系统中的某一个特定的对象,用以下形式的 URI 表示;
-// *
-// * state://ledger/account/key/version
-// * 或
-// * proof:state://account_merkle_path/key_merkle_path
-// *
-// * proof:tx://
-// *
-// */
-// REFERENCE((byte) 0x80);
-
- public final byte CODE;
-
- private ValueType(byte code) {
- this.CODE = code;
- }
-
- public static ValueType valueOf(byte code) {
- for (ValueType dataType : ValueType.values()) {
- if (dataType.CODE == code) {
- return dataType;
- }
- }
- throw new IllegalArgumentException("Unsupported code[" + code + "] of DataType!");
- }
-
-}