From a170e6dfa673ac7fbac6e98bda6ba4cab0dca0c0 Mon Sep 17 00:00:00 2001 From: huanghaiquan Date: Thu, 11 Apr 2019 17:50:35 +0800 Subject: [PATCH] Remove unused projects; --- source/contract/contract-compile/pom.xml | 105 -------- .../blockchain/contract/AssetContract1.java | 232 ------------------ .../blockchain/contract/AssetContract2.java | 63 ----- .../blockchain/contract/AssetContract3.java | 65 ----- .../blockchain/contract/AssetContract4.java | 83 ------- .../blockchain/contract/AssetContract5.java | 62 ----- 6 files changed, 610 deletions(-) delete mode 100644 source/contract/contract-compile/pom.xml delete mode 100644 source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract1.java delete mode 100644 source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract2.java delete mode 100644 source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract3.java delete mode 100644 source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract4.java delete mode 100644 source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract5.java diff --git a/source/contract/contract-compile/pom.xml b/source/contract/contract-compile/pom.xml deleted file mode 100644 index 67eec97b..00000000 --- a/source/contract/contract-compile/pom.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - contract - com.jd.blockchain - 0.8.2.RELEASE - - 4.0.0 - - contract-compile - - - - com.jd.blockchain - contract-model - ${project.version} - provided - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - UTF-8 - false - true - false - false - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.5 - - - - - true - - - - - maven-assembly-plugin - - contract - false - - - com.jd.blockchain.contract.AssetContract2 - - - - jar-with-dependencies - - - - - make-assembly - package - - single - - - - - - - com.jd.blockchain - contract-maven-plugin - ${project.version} - - - - - - - make-assembly - process-sources - - checkImports - - - - - - maven-jar-plugin - 3.0.2 - - - default-jar - none - - - - - - diff --git a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract1.java b/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract1.java deleted file mode 100644 index 2926a757..00000000 --- a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract1.java +++ /dev/null @@ -1,232 +0,0 @@ -package com.jd.blockchain.contract; - -import com.jd.blockchain.contract.model.*; -import com.jd.blockchain.crypto.CryptoAlgorithm; -import com.jd.blockchain.crypto.PubKey; -import com.jd.blockchain.crypto.hash.HashDigest; -import com.jd.blockchain.ledger.*; -import com.jd.blockchain.utils.BaseConstant; -import com.jd.blockchain.utils.codec.Base58Utils; -import com.jd.blockchain.utils.io.ByteArray; - -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -/** - * 模拟用智能合约; - */ -@Contract -public class AssetContract1 implements EventProcessingAwire { - // private static final Logger LOGGER = LoggerFactory.getLogger(AssetContract1.class); - // 资产管理账户的地址; -// private static String ASSET_ADDRESS = "2njZBNbFQcmKd385DxVejwSjy4driRzf9Pk"; - private static String ASSET_ADDRESS = ""; - //账户地址; - private static final String ACCOUNT_ADDRESS = "accountAddress"; - String contractAddress = "2njZBNbFQcmKd385DxVejwSjy4driRzf9Pk"; - String userPubKeyVal = "this is user's pubKey"; - - // 保存资产总数的键; - private static final String KEY_TOTAL = "TOTAL"; - - // 合约事件上下文; - private ContractEventContext eventContext; - private Object eventContextObj; - private byte[] eventContextBytes; - - @Override - public void beforeEvent(ContractEventContext contractEventContext) { - eventContext = contractEventContext; - System.out.println("in beforeEvent(),event is: "+contractEventContext.getEvent()); - } - - - @Override - public void postEvent(ContractEventContext eventContext, ContractException error) { - this.eventContext = null; - } - - @Override - public void postEvent(ContractException error) { - this.eventContextBytes = null; - } - - @Override - public void postEvent() { - this.eventContextBytes = null; - System.out.println("postEvent(),over."); - } - - /** - * 发行资产; - * @param contractEventContext - * @throws Exception - */ - @ContractEvent(name = "issue-asset") - public void issue(ContractEventContext contractEventContext) throws Exception { - // String strArgs = (String)BytesUtils.getObjectFromBytes(args_); - byte [] args_ = contractEventContext.getArgs(); - if(args_ == null){ - return; - } - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - long amount = Long.parseLong(args[0]); - // 新发行的资产的持有账户; - String assetHolderAddress = args[1]; - String ASSET_ADDRESS = args[2]; - String previousBlockHash = args[3]; - String userAddress = args[4]; - String contractAddress = args[5]; - String txHash = args[6]; - String pubKeyVal = args[7]; - -// checkAllOwnersAgreementPermission(); - - // 新发行的资产数量;在传递过程中都改为字符串,需要反转; -// long amount = BytesUtils.toLong(args[0]); - - if (amount < 0) { - throw new ContractException("The amount is negative!"); - } - if (amount == 0) { - return; - } - - // 校验持有者账户的有效性; -// BlockchainAccount holderAccount = eventContext.getLedger().getAccount(currentLedgerHash(), assetHolderAddress); -// if (holderAccount == null) { -// throw new ContractError("The holder is not exist!"); -// } - // 查询当前值; - HashDigest hashDigest = eventContext.getCurrentLedgerHash(); - - //赋值;mock的对象直接赋值无效; -// eventContext.getLedger().dataAccount(ACCOUNT_ADDRESS).set(KEY_TOTAL,"total new dataAccount".getBytes(),2); -// KVDataEntry[] kvEntries = eventContext.getLedger().getDataEntries(hashDigest, ASSET_ADDRESS, KEY_TOTAL,assetHolderAddress); -// assert ByteArray.toHex("total new dataAccount".getBytes()).equals(kvEntries[0].getValue()) -// && ByteArray.toHex("abc new dataAccount".getBytes()).equals(kvEntries[1].getValue()) : -// "getDataEntries() test,期望值!=设定值;"; - - KVDataEntry[] kvEntries = eventContext.getLedger().getDataEntries(hashDigest, ASSET_ADDRESS, - KEY_TOTAL,assetHolderAddress,"ledgerHash"); //,"latestBlockHash" - //当前mock设定值为:TOTAL="total value,dataAccount";abc="abc value,dataAccount"; - - assert ByteArray.toHex("total value,dataAccount".getBytes()).equals(kvEntries[0].getValue()) - && ByteArray.toHex("abc value,dataAccount".getBytes()).equals(kvEntries[1].getValue()) : - "getDataEntries() test,期望值=设定值;"; - - //高度只是一个模拟,看结果是否与期望相同;//get the latest block; - LedgerBlock ledgerBlock = eventContext.getLedger().getBlock(hashDigest, - eventContext.getLedger().getLedger(hashDigest).getLatestBlockHeight()); - - -// assert "zhaogw".equals(new String(ledgerBlock.getLedgerHash().getRawDigest())) && -// "lisi".equals(new String(ledgerBlock.getPreviousHash().getRawDigest())) : -// "getBlock(hash,long) test,期望值!=设定值;"; - assert ByteArray.toHex(eventContext.getCurrentLedgerHash().getRawDigest()).equals(kvEntries[2].getValue()) && - ledgerBlock.getPreviousHash().toBase58().equals(previousBlockHash) : - "getPreviousHash() test,期望值!=设定值;"; - - //模拟:根据hash来获得区块; - LedgerBlock ledgerBlock1 = eventContext.getLedger().getBlock(hashDigest,ledgerBlock.getHash()); - - assert eventContext.getLedger().getTransactionCount(hashDigest,1) == 2 : - "getTransactionCount(),期望值!=设定值"; - -// assert "zhaogw".equals(new String(ledgerBlock1.getLedgerHash().getRawDigest())) && -// "lisi".equals(new String(ledgerBlock1.getPreviousHash().getRawDigest())) : -// "getBlock(hash,blockHash) test,期望值!=设定值;"; - assert ByteArray.toHex(eventContext.getCurrentLedgerHash().getRawDigest()).equals(kvEntries[2].getValue()) && - ledgerBlock1.getPreviousHash().toBase58().equals(previousBlockHash) : - "getBlock(hash,blockHash) test,期望值!=设定值;"; - - assert ASSET_ADDRESS.equals(eventContext.getLedger().getDataAccount(hashDigest,ASSET_ADDRESS).getAddress()) : - "getDataAccount(hash,address), 期望值!=设定值"; - - //mock user()等;内部赋值,验证外部是否能够得到; - PubKey pubKey = new PubKey(CryptoAlgorithm.ED25519, pubKeyVal.getBytes()); - BlockchainIdentity contractID = new BlockchainIdentityData(pubKey); -// assert contractID == contractEventContext.getLedger().dataAccounts().register(contractID).getAccountID() : -// "dataAccounts(),期望值!=设定值"; - contractEventContext.getLedger().dataAccounts().register(contractID); - contractEventContext.getLedger().dataAccount(contractID.getAddress()). - set(KEY_TOTAL,"hello".getBytes(),-1).getOperation(); - - assert userAddress.equals(eventContext.getLedger().getUser(hashDigest,userAddress).getAddress()) : - "getUser(hash,address), 期望值!=设定值"; - - assert contractAddress.equals(eventContext.getLedger().getContract(hashDigest,contractAddress).getAddress()) : - "getContract(hash,address), 期望值!=设定值"; - - PubKey userPubKey = new PubKey(CryptoAlgorithm.ED25519, userPubKeyVal.getBytes()); - BlockchainIdentity userBlockId = new BlockchainIdentityData(userPubKey); - contractEventContext.getLedger().users().register(userBlockId); - -// txRootHash - //此方法未实现;需要相关人员进一步完善; -// eventContext.getLedger().getTransactions(hashDigest,ledgerBlock1.getHash(),0,10); - - HashDigest txHashDigest = new HashDigest(Base58Utils.decode(txHash)); - LedgerTransaction ledgerTransactions = eventContext.getLedger().getTransactionByContentHash(hashDigest,txHashDigest); - assert ledgerTransactions != null : "getTransactionByContentHash(hashDigest,txHashDigest),期望值!=设定值"; - - System.out.println("issue(),over."); - } - - @ContractEvent(name = "transfer-asset") - public void transfer(ContractEventContext contractEventContext) { - byte[] args = contractEventContext.getArgs(); - String[] argStr = new String(args).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - String fromAddress = argStr[0]; - String toAddress = argStr[1]; - long amount = Long.parseLong(argStr[2]); - - if (amount < 0) { - throw new ContractException("The amount is negative!"); - } - if (amount == 0) { - return; - } - checkSignerPermission(fromAddress); - System.out.println("transfer(),over."); - } - - /** - * 只有全部的合约拥有者同意才能通过校验; - */ - private void checkAllOwnersAgreementPermission() { - Set owners = eventContext.getContracOwners(); - Set requestors = eventContext.getTxSigners(); - if (requestors.size() != owners.size()) { - throw new ContractException("Permission Error! -- The requestors is not exactlly being owners!"); - } - - Map ownerMap = new HashMap<>(); - for (BlockchainIdentity o : owners) { - ownerMap.put(o.getAddress().toBase58(), o); - } - for (BlockchainIdentity r : requestors) { - System.out.println("checkAllOwnersAgreementPermission(),r.getAddress:"+r.getAddress()); - if (!ownerMap.containsKey(r.getAddress())) { - throw new ContractException("Permission Error! -- No agreement of all owners!"); - } - } - } - - /** - * 校验指定的账户是否签署了当前交易; - * - * @param address - */ - private void checkSignerPermission(String address) { - Set requestors = eventContext.getTxSigners(); - for (BlockchainIdentity r : requestors) { - if (r.getAddress().equals(address)) { - return; - } - } -// throw new ContractError("Permission Error! -- No signature !"); - } - -} diff --git a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract2.java b/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract2.java deleted file mode 100644 index 44c3bb4c..00000000 --- a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract2.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.jd.blockchain.contract; - -import com.jd.blockchain.contract.model.*; -import com.jd.blockchain.crypto.hash.HashDigest; -import com.jd.blockchain.ledger.KVDataEntry; -import com.jd.blockchain.utils.BaseConstant; - -/** - * 模拟用智能合约; - */ -@Contract -public class AssetContract2 implements EventProcessingAwire { - // private static final Logger LOGGER = LoggerFactory.getLogger(AssetContract.class); - private static final String KEY_TOTAL = "TOTAL"; - private static final String LEDGER_HASH = "ledgerHash"; - - @ContractEvent(name = "issue-asset") - public void test1(ContractEventContext eventContext) throws Exception{ - byte [] args_ = eventContext.getArgs(); - if(args_ == null){ - return; - } - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - - long amount = Long.parseLong(args[0]); - long amount1 = Long.parseLong(args[1]); - String contractDataAddress = args[2]; - System.out.println("in contract2,invoke test1(),amountAdd:"+(amount+amount1)+",contractDataAddress="+contractDataAddress); - - //test invoke; - HashDigest hashDigest = eventContext.getCurrentLedgerHash(); - KVDataEntry[] kvEntries = eventContext.getLedger().getDataEntries(hashDigest, contractDataAddress, - KEY_TOTAL,LEDGER_HASH); //,"latestBlockHash" - //当前mock设定值为:TOTAL="total value,dataAccount";abc="abc value,dataAccount"; - - // -// assert ByteArray.toHex("total value,dataAccount".getBytes()).equals(kvEntries[0].getValue()) -// && ByteArray.toHex("abc value,dataAccount".getBytes()).equals(kvEntries[1].getValue()) : -// "getDataEntries() test,期望值=设定值;"; - System.out.println("in dataSet,KEY_TOTAL="+new String(kvEntries[0].getValue().toString())); - System.out.println("in dataSet,LEDGER_HASH="+new String(kvEntries[1].getValue().toString())); - } - - @Override - public void beforeEvent(ContractEventContext contractEventContext) { - - } - - @Override - public void postEvent() { - - } - - @Override - public void postEvent(ContractEventContext contractEventContext, ContractException contractError) { - - } - - @Override - public void postEvent(ContractException contractError) { - - } -} diff --git a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract3.java b/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract3.java deleted file mode 100644 index d6c8b190..00000000 --- a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract3.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.jd.blockchain.contract; - -import com.jd.blockchain.contract.model.*; -import com.jd.blockchain.utils.BaseConstant; - -/** - * 模拟用智能合约; - * 只做最简单的加法运算; - */ -@Contract -public class AssetContract3 implements EventProcessingAwire { - - @ContractEvent(name = "issue-asset") - public void test1(ContractEventContext eventContext){ - byte [] args_ = eventContext.getArgs(); - if(args_ == null){ - return; - } - -// KVDataEntry[] kvEntries = eventContext.getLedger().getDataEntries(eventContext.getCurrentLedgerHash(), -// "", ""); - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - - long amount = Long.parseLong(args[0]); - long amount1 = Long.parseLong(args[1]); - String contractDataAddress = args[2]; - System.out.println("###@@@,in contract3,invoke test1(),amountAdd:"+(amount+amount1)+ - ",contractDataAddress= "+contractDataAddress); - } - - @ContractEvent(name = "multi") - public void test2(ContractEventContext eventContext) throws Exception{ - byte [] args_ = eventContext.getArgs(); - if(args_ == null){ - return; - } - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - - long amount = Long.parseLong(args[0]); - long amount1 = Long.parseLong(args[1]); - String contractDataAddress = args[2]; - System.out.println("###test,in contract3,invoke test2(),amount Multi:"+(amount*amount1)+ - ",contractDataAddress= "+contractDataAddress); - } - - @Override - public void beforeEvent(ContractEventContext contractEventContext) { - - } - - @Override - public void postEvent() { - - } - - @Override - public void postEvent(ContractEventContext contractEventContext, ContractException contractError) { - - } - - @Override - public void postEvent(ContractException contractError) { - - } -} diff --git a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract4.java b/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract4.java deleted file mode 100644 index 0bb265bb..00000000 --- a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract4.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.jd.blockchain.contract; - -import com.jd.blockchain.contract.model.*; -import com.jd.blockchain.ledger.BlockchainKeyGenerator; -import com.jd.blockchain.ledger.BlockchainKeyPair; -import com.jd.blockchain.ledger.KVDataEntry; -import com.jd.blockchain.utils.BaseConstant; -import com.jd.blockchain.utils.io.ByteArray; - -/** - * 模拟用智能合约; - * 测试从链中取数据,然后对比是否与预定值一致;param1Val 的值要与IntegrationTest中保持一致; - */ -@Contract -public class AssetContract4 implements EventProcessingAwire { - String param1 = "param1"; - String param1Val = "param1Val"; - - @ContractEvent(name = "issue-asset") - public void test1(ContractEventContext eventContext) throws Exception{ - byte [] args_ = eventContext.getArgs(); - if(args_ == null){ - return; - } - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - - long amount = Long.parseLong(args[0]); - long amount1 = Long.parseLong(args[1]); - String contractDataAddress = args[2]; - System.out.println("###@@@,in contract4,invoke test1(),amountAdd:"+(amount+amount1)+ - ",contractDataAddress= "+contractDataAddress); - - BlockchainKeyPair dataAccount = BlockchainKeyGenerator.getInstance().generate(); - //TODO:register牵扯到账本中的事务处理,需要优化; -// contractEventContext.getLedger().dataAccounts().register(dataAccount.getIdentity()); -// contractEventContext.getLedger().dataAccount(dataAccount.getAddress()). -// set(param1,param1Val.getBytes(),-1).getOperation(); - System.out.println("data address="+dataAccount.getAddress()); - } - - @ContractEvent(name = "event2") - public void test2(ContractEventContext eventContext) throws Exception{ - byte [] args_ = eventContext.getArgs(); - if(args_ == null){ - return; - } - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - - long amount = Long.parseLong(args[0]); - long amount1 = Long.parseLong(args[1]); - String contractDataAddress = args[2]; - System.out.println("###!!!!!!!!,in contract3,invoke test2(),amount Multi:"+(amount*amount1)+ - ",contractDataAddress= "+contractDataAddress); - - KVDataEntry[] kvEntries = eventContext.getLedger().getDataEntries(eventContext.getCurrentLedgerHash(), - contractDataAddress, param1); - if (ByteArray.toHex(param1Val.getBytes()).equals(kvEntries[0].getValue())){ - System.out.println("getDataEntries() test,期望值==设定值;"); - } else { - System.out.println("getDataEntries() test,期望值!=设定值;"); - } - } - - @Override - public void beforeEvent(ContractEventContext contractEventContext) { - - } - - @Override - public void postEvent() { - - } - - @Override - public void postEvent(ContractEventContext contractEventContext, ContractException contractError) { - - } - - @Override - public void postEvent(ContractException contractError) { - - } -} diff --git a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract5.java b/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract5.java deleted file mode 100644 index de6fe3cc..00000000 --- a/source/contract/contract-compile/src/main/java/com/jd/blockchain/contract/AssetContract5.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.jd.blockchain.contract; - -import com.jd.blockchain.contract.model.*; -import com.jd.blockchain.utils.BaseConstant; - -/** - * 模拟用智能合约; - * 只做最简单的加法运算; - */ -@Contract -public class AssetContract5 implements EventProcessingAwire { - - @ContractEvent(name = "issue-asset") - public void test1(ContractEventContext eventContext) throws Exception{ - byte [] args_ = eventContext.getArgs(); - if(args_ == null){ - return; - } - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - - long amount = Long.parseLong(args[0]); - long amount1 = Long.parseLong(args[1]); - String contractDataAddress = args[2]; - System.out.println("###@@@,in contract5,invoke test1(),amountAdd:"+(amount+amount1)+ - ",contractDataAddress= "+contractDataAddress); - } - - @ContractEvent(name = "multi") - public void test2(ContractEventContext eventContext) throws Exception{ - byte [] args_ = eventContext.getArgs(); - if(args_ == null){ - return; - } - String[] args = new String(args_).split(BaseConstant.DELIMETER_DOUBLE_ALARM); - - long amount = Long.parseLong(args[0]); - long amount1 = Long.parseLong(args[1]); - String contractDataAddress = args[2]; - System.out.println("###test,in contract5,invoke test2(),amount Multi:"+(amount*amount1)+ - ",contractDataAddress= "+contractDataAddress); - } - - @Override - public void beforeEvent(ContractEventContext contractEventContext) { - - } - - @Override - public void postEvent() { - - } - - @Override - public void postEvent(ContractEventContext contractEventContext, ContractException contractError) { - - } - - @Override - public void postEvent(ContractException contractError) { - - } -}