|
|
@@ -2,8 +2,21 @@ package com.jd.blockchain.ledger.core.handles; |
|
|
|
|
|
|
|
import com.jd.blockchain.crypto.AddressEncoding; |
|
|
|
import com.jd.blockchain.crypto.PubKey; |
|
|
|
import com.jd.blockchain.ledger.*; |
|
|
|
import com.jd.blockchain.ledger.core.*; |
|
|
|
import com.jd.blockchain.ledger.LedgerPermission; |
|
|
|
import com.jd.blockchain.ledger.ParticipantInfo; |
|
|
|
import com.jd.blockchain.ledger.ParticipantInfoData; |
|
|
|
import com.jd.blockchain.ledger.ParticipantNode; |
|
|
|
import com.jd.blockchain.ledger.ParticipantNodeState; |
|
|
|
import com.jd.blockchain.ledger.ParticipantRegisterOperation; |
|
|
|
import com.jd.blockchain.ledger.UserRegisterOperation; |
|
|
|
import com.jd.blockchain.ledger.core.LedgerAdminDataset; |
|
|
|
import com.jd.blockchain.ledger.core.LedgerDataset; |
|
|
|
import com.jd.blockchain.ledger.core.LedgerQuery; |
|
|
|
import com.jd.blockchain.ledger.core.MultiIDsPolicy; |
|
|
|
import com.jd.blockchain.ledger.core.OperationHandleContext; |
|
|
|
import com.jd.blockchain.ledger.core.SecurityContext; |
|
|
|
import com.jd.blockchain.ledger.core.SecurityPolicy; |
|
|
|
import com.jd.blockchain.ledger.core.TransactionRequestExtension; |
|
|
|
import com.jd.blockchain.transaction.UserRegisterOpTemplate; |
|
|
|
import com.jd.blockchain.utils.Bytes; |
|
|
|
|
|
|
@@ -15,8 +28,8 @@ public class ParticipantRegisterOperationHandle extends AbstractLedgerOperationH |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void doProcess(ParticipantRegisterOperation op, LedgerDataset newBlockDataset, |
|
|
|
TransactionRequestExtension requestContext, LedgerDataQuery previousBlockDataset, |
|
|
|
OperationHandleContext handleContext, LedgerService ledgerService) { |
|
|
|
TransactionRequestExtension requestContext, LedgerQuery previousBlockDataset, |
|
|
|
OperationHandleContext handleContext) { |
|
|
|
|
|
|
|
// 权限校验; |
|
|
|
SecurityPolicy securityPolicy = SecurityContext.getContextUsersPolicy(); |
|
|
@@ -28,7 +41,7 @@ public class ParticipantRegisterOperationHandle extends AbstractLedgerOperationH |
|
|
|
|
|
|
|
ParticipantInfo participantInfo = new ParticipantInfoData(participantRegOp.getParticipantName(), participantRegOp.getParticipantIdentity().getPubKey(), participantRegOp.getNetworkAddress()); |
|
|
|
|
|
|
|
ParticipantNode participantNode = new PartNode((int)(adminAccountDataSet.getParticipantCount()), participantInfo.getName(), participantInfo.getPubKey(), ParticipantNodeState.REGISTED); |
|
|
|
ParticipantNode participantNode = new PartNode((int)(adminAccountDataSet.getParticipantCount()), participantInfo.getName(), participantInfo.getPubKey(), ParticipantNodeState.REGISTERED); |
|
|
|
|
|
|
|
//add new participant as consensus node |
|
|
|
adminAccountDataSet.addParticipant(participantNode); |
|
|
|