Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

Commit

Permalink
[fix][*][v0.1.0]: not set the domains in CrossChainChannelNotExistExc…
Browse files Browse the repository at this point in the history
…eption

- add new blkchain cmd getBlockchainHeights
  • Loading branch information
zouxyan committed Dec 27, 2023
1 parent e019411 commit a3772a9
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 8 deletions.
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ ACB Relayer将功能实现分为两部分,分别为通信和可信,目前ACB

## 编译

在项目根目录运行maven命令即可:
*由于AntChainBridgePluginSDK没有发布到maven仓库,因此可以参考[文档](https://github.com/AntChainOpenLabs/AntChainBridgePluginSDK?tab=readme-ov-file#%E5%AE%89%E8%A3%85)本地安装,或者直接clone对应Relayer依赖版本的源码,版本可[](./pom.xml)的标签`<acb-sdk.version>`*

在Relayer项目根目录运行maven命令即可编译:

```
mvn package -Dmaven.test.skip=true
Expand Down Expand Up @@ -91,13 +93,9 @@ docker run -itd --name redis-test -p 6379:6379 redis --requirepass 'YOUR_PWD' --

## 配置

### 数据库

在开始之前,需要初始化中继的数据库,这里提供一个[DDL](r-bootstrap/src/main/resources/db/ddl.sql),或者解压之后在路径`config/db/ddl.sql`找到,在MySQL执行即可生成数据库`relayer`

### TLS

这里初始化中继的TLS证书,会在`tls_certs`路径下生成`relayer.crt``relayer.key`
首先,初始化中继的TLS证书,会在`tls_certs`路径下生成`relayer.crt``relayer.key`

```
bin/init_tls_certs.sh
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@ Object getBlockchainContracts(
return queryAPI("getBlockchainContracts", product, blockchainId);
}

@ShellMethod(value = "Get the local blockchain heights where anchor service runs on")
Object getBlockchainHeights(
@ShellOption(help = "Product type for blockchain, e.g. mychain010") String product,
@ShellOption(help = "Local blockchain ID") String blockchainId
) {
return queryAPI("getBlockchainHeights", product, blockchainId);
}

@ShellMethod(value = "Add a specified blockchain configuration to start the anchor service")
Object addBlockchainAnchor(
@ShellOption(help = "Product type for blockchain, e.g. mychain010") String product,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,13 @@
@Getter
public class CrossChainChannelNotExistException extends AntChainBridgeRelayerException {

private String senderDomain;
private final String senderDomain;

private String receiverDomain;
private final String receiverDomain;

public CrossChainChannelNotExistException(String senderDomain, String receiverDomain, String message) {
super(RelayerErrorCodeEnum.CORE_UNKNOWN_RELAYER_FOR_DEST_DOMAIN, message);
this.senderDomain = senderDomain;
this.receiverDomain = receiverDomain;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,9 @@ public void batchUpdateBizDTTasks(List<BizDistributedTask> tasks) {
}

public void markForDomainRouterQuery(String senderDomain, String receiverDomain) {
if (!StrUtil.isAllNotEmpty(senderDomain, receiverDomain)) {
throw new RuntimeException(StrUtil.format("empty sender domain {} or receiver domain {}", senderDomain, receiverDomain));
}
String uniqueKey = DomainRouterQueryMarkDTTask.generateDomainRouterQueryTaskUniqueKey(senderDomain, receiverDomain);
log.info("try to start a mark task for domain router query: {} ", uniqueKey);
if (hasMarkDTTask(MarkDTTaskTypeEnum.DOMAIN_ROUTER_QUERY, uniqueKey)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import com.alipay.antchain.bridge.relayer.commons.model.BlockchainMeta;
import com.alipay.antchain.bridge.relayer.core.manager.bcdns.IBCDNSManager;
import com.alipay.antchain.bridge.relayer.core.manager.blockchain.IBlockchainManager;
import com.alipay.antchain.bridge.relayer.core.types.blockchain.BlockchainAnchorProcess;
import com.alipay.antchain.bridge.relayer.dal.repository.ISystemConfigRepository;
import com.alipay.antchain.bridge.relayer.server.admin.AbstractNamespace;
import lombok.extern.slf4j.Slf4j;
Expand Down Expand Up @@ -63,6 +64,7 @@ public BlockchainNamespace() {
addCommand("getBlockchainIdByDomain", this::getBlockchainIdByDomain);
addCommand("getBlockchain", this::getBlockchain);
addCommand("getBlockchainContracts", this::getBlockchainContracts);
addCommand("getBlockchainHeights", this::getBlockchainHeights);
addCommand("addBlockchainAnchor", this::addBlockchainAnchor);
addCommand("deployBBCContractsAsync", this::deployBBCContractsAsync);
addCommand("updateBlockchainAnchor", this::updateBlockchainAnchor);
Expand Down Expand Up @@ -130,6 +132,23 @@ Object getBlockchainContracts(String... args) {
return jsonObject.toJSONString();
}

Object getBlockchainHeights(String... args) {
String product = args[0];
String blockchainId = args[1];

BlockchainMeta blockchainMeta = blockchainManager.getBlockchainMeta(product, blockchainId);
if (blockchainMeta == null) {
return "blockchain not exist.";
}

BlockchainAnchorProcess anchorProcess = blockchainManager.getBlockchainAnchorProcess(product, blockchainId);
if (ObjectUtil.isNull(anchorProcess)) {
return "none heights found";
}

return JSON.toJSONString(anchorProcess, SerializerFeature.PrettyFormat);
}

Object addBlockchainAnchor(String... args) {
if (args.length != 7) {
return "wrong number of arguments";
Expand Down

0 comments on commit a3772a9

Please sign in to comment.