From f2a98c0a2b937d24a005b1e9be766592e1df1a27 Mon Sep 17 00:00:00 2001 From: Thomas Kammerlocher Date: Tue, 30 Jul 2024 13:42:52 +0200 Subject: [PATCH] Feat/get local params from n2c (#236) * chore: upgraded to node 9.0 * chore:updated yaci store * feat: implemented get local params from n2c connection * feat: added backup solution to get params Epoch Table if local params not availalbe + adjusted tests * feat: spotless * feat: updated db * feat: added n2c socat host and port to yaci indexer --- .env.IntegrationTest | 5 +- .env.docker-compose | 2 +- .env.h2 | 2 +- README.md | 2 +- .../block/model/domain/ProtocolParams.java | 3 + .../entity/LocalProtocolParamsEntity.java | 39 +++ .../LocalProtocolParamsRepository.java | 17 ++ .../services/ProtocolParamServiceImpl.java | 19 +- .../main/resources/config/application.yaml | 2 +- .../controller}/AccountBalanceApiTest.java | 5 +- .../controller}/AccountCoinsApiTest.java | 4 +- .../construction/service/MetadataApiTest.java | 2 +- .../common/cache/ProtocolParamsCacheTest.java | 14 +- .../ProtocolParamServiceImplTest.java | 26 +- .../config/application-test-integration.yaml | 4 +- config/mainnet/config.json | 6 +- config/mainnet/topology.json | 2 +- config/preprod/config.json | 12 +- config/preview/config.json | 12 +- config/sanchonet/config.json | 12 +- config/sanchonet/conway-genesis.json | 259 +++++++++++++++++- docker-api-indexer.yaml | 4 + docker/.env.dockerfile | 2 +- docker/Dockerfile | 2 +- pom.xml | 2 +- testData/devkit.db.mv.db | Bin 360448 -> 294912 bytes testData/testdata.json | 48 ++-- yaci-indexer/pom.xml | 2 +- .../application-h2-testdata.properties | 4 +- .../application-n2c-socat.properties | 13 + .../application-n2c-socket.properties | 13 + .../src/main/resources/application.properties | 20 +- 32 files changed, 439 insertions(+), 120 deletions(-) create mode 100644 api/src/main/java/org/cardanofoundation/rosetta/api/block/model/entity/LocalProtocolParamsEntity.java create mode 100644 api/src/main/java/org/cardanofoundation/rosetta/api/block/model/repository/LocalProtocolParamsRepository.java rename api/src/test/java/org/cardanofoundation/rosetta/api/{data/account => account/controller}/AccountBalanceApiTest.java (98%) rename api/src/test/java/org/cardanofoundation/rosetta/api/{data/account => account/controller}/AccountCoinsApiTest.java (99%) create mode 100644 yaci-indexer/src/main/resources/application-n2c-socat.properties create mode 100644 yaci-indexer/src/main/resources/application-n2c-socket.properties diff --git a/.env.IntegrationTest b/.env.IntegrationTest index afc5e7427..92e070b61 100644 --- a/.env.IntegrationTest +++ b/.env.IntegrationTest @@ -29,7 +29,7 @@ CARDANO_NODE_PORT=3001 CARDANO_NODE_SUBMIT_HOST=yaci-cli NODE_SUBMIT_API_PORT=8090 CARDANO_NODE_VERSION=0.0.0 -CARDANO_NODE_DIR=/node +CARDANO_NODE_DIR=/Users/thkammer/Documents/dev/cardano/cardano-rosetta-java/node CARDANO_NODE_SOCKET_PATH=${CARDANO_NODE_DIR}/node.socket CARDANO_NODE_DB=${CARDANO_NODE_DIR}/db CARDANO_CONFIG=./config/${NETWORK} @@ -59,7 +59,7 @@ GENESIS_CONWAY_PATH=/config/conway-genesis.json INDEXER_DOCKER_IMAGE_TAG=main PRUNING_ENABLED=false -YACI_SPRING_PROFILES=postgres +YACI_SPRING_PROFILES=postgres,n2c-socat # database profiles: h2, h2-testData, postgres MEMPOOL_ENABLED=false @@ -67,6 +67,7 @@ MEMPOOL_ENABLED=false HOST_N2N_PORT=${CARDANO_NODE_PORT} HOST_SUBMIT_API_PORT=${NODE_SUBMIT_API_PORT} HOST_N2C_SOCAT_PORT=3333 +HOST_N2C_SOCAT_HOST=${CARDANO_NODE_HOST} HOST_STORE_API_PORT=8080 HOST_CLUSTER_API_PORT=10000 HOST_OGMIOS_PORT=1337 diff --git a/.env.docker-compose b/.env.docker-compose index 0129c2fb7..4250890c7 100644 --- a/.env.docker-compose +++ b/.env.docker-compose @@ -58,7 +58,7 @@ GENESIS_CONWAY_PATH=/config/conway-genesis.json INDEXER_DOCKER_IMAGE_TAG=main PRUNING_ENABLED=false -YACI_SPRING_PROFILES=postgres +YACI_SPRING_PROFILES=postgres,n2c-socket # database profiles: h2, h2-testData, postgres MEMPOOL_ENABLED=false diff --git a/.env.h2 b/.env.h2 index 19e5d8775..a8b43df72 100644 --- a/.env.h2 +++ b/.env.h2 @@ -41,7 +41,7 @@ GENESIS_CONWAY_PATH=./config/${NETWORK}/conway-genesis.json INDEXER_DOCKER_IMAGE_TAG=main PRUNING_ENABLED=false -YACI_SPRING_PROFILES=h2 +YACI_SPRING_PROFILES=h2,n2c-socket # database profiles: h2, h2-testData, postgres MEMPOOL_ENABLED=false diff --git a/README.md b/README.md index d8306c9fe..101ea328f 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ The default config is focused on mainnet. If you want to test this on other Card git clone https://github.com/cardano-foundation/cardano-rosetta-java cd cardano-rosetta-java docker build -t rosetta-java -f ./docker/Dockerfile . - docker run --name rosetta --env-file ./docker/.env.dockerfile -p 8082:8082 -d rosetta-java:latest + docker run --name rosetta -v {CUSTOM_MOUNT_PATH}:/node --env-file ./docker/.env.dockerfile -p 8082:8082 -d rosetta-java:latest ``` Detailed explanation can be found in the [Wiki](https://github.com/cardano-foundation/cardano-rosetta-java/wiki/3.-Getting-Started-with-Docker). diff --git a/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/domain/ProtocolParams.java b/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/domain/ProtocolParams.java index 1642c2d6c..2c553399c 100644 --- a/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/domain/ProtocolParams.java +++ b/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/domain/ProtocolParams.java @@ -10,6 +10,8 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.PropertyNamingStrategies; +import com.fasterxml.jackson.databind.annotation.JsonNaming; @Data @NoArgsConstructor @@ -17,6 +19,7 @@ @Builder @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) +@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public class ProtocolParams { private Integer minFeeA; //0 diff --git a/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/entity/LocalProtocolParamsEntity.java b/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/entity/LocalProtocolParamsEntity.java new file mode 100644 index 000000000..8de0b2998 --- /dev/null +++ b/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/entity/LocalProtocolParamsEntity.java @@ -0,0 +1,39 @@ +package org.cardanofoundation.rosetta.api.block.model.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.PropertyNamingStrategies; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.hypersistence.utils.hibernate.type.json.JsonType; +import org.hibernate.annotations.Type; + +import org.cardanofoundation.rosetta.api.block.model.domain.ProtocolParams; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Entity +@Table(name = "local_epoch_param") +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) +public class LocalProtocolParamsEntity { + @Id + private Long epoch; + + @Type(JsonType.class) + @Column(name = "params") + private ProtocolParams protocolParams; + +} diff --git a/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/repository/LocalProtocolParamsRepository.java b/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/repository/LocalProtocolParamsRepository.java new file mode 100644 index 000000000..88409de5f --- /dev/null +++ b/api/src/main/java/org/cardanofoundation/rosetta/api/block/model/repository/LocalProtocolParamsRepository.java @@ -0,0 +1,17 @@ +package org.cardanofoundation.rosetta.api.block.model.repository; + +import java.util.Optional; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import org.cardanofoundation.rosetta.api.block.model.entity.LocalProtocolParamsEntity; + +public interface LocalProtocolParamsRepository extends JpaRepository { + + @Query(value = """ + SELECT p FROM LocalProtocolParamsEntity p ORDER BY p.epoch DESC LIMIT 1 + """ + ) + Optional getLocalProtocolParams(); +} diff --git a/api/src/main/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImpl.java b/api/src/main/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImpl.java index 958a4f33d..285a93ab2 100644 --- a/api/src/main/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImpl.java +++ b/api/src/main/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImpl.java @@ -1,5 +1,7 @@ package org.cardanofoundation.rosetta.common.services; +import java.util.Optional; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -11,8 +13,10 @@ import org.springframework.transaction.annotation.Transactional; import org.cardanofoundation.rosetta.api.block.model.domain.ProtocolParams; +import org.cardanofoundation.rosetta.api.block.model.entity.LocalProtocolParamsEntity; import org.cardanofoundation.rosetta.api.block.model.entity.ProtocolParamsEntity; import org.cardanofoundation.rosetta.api.block.model.repository.EpochParamRepository; +import org.cardanofoundation.rosetta.api.block.model.repository.LocalProtocolParamsRepository; import org.cardanofoundation.rosetta.common.mapper.ProtocolParamsMapper; @Service @@ -20,19 +24,24 @@ @RequiredArgsConstructor public class ProtocolParamServiceImpl implements ProtocolParamService { - private final EpochParamRepository epochParamRepository; + private final LocalProtocolParamsRepository localProtocolParamsRepository; private final ProtocolParamsMapper mapperProtocolParams; + private final EpochParamRepository epochParamRepository; @Override @Cacheable(value = "protocolParamsCache") @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public ProtocolParams findProtocolParametersFromIndexer() { log.info("Fetching protocol parameters from the indexer"); - ProtocolParamsEntity paramsEntity = epochParamRepository.findLatestProtocolParams(); - ProtocolParams protocolParams = mapperProtocolParams.mapProtocolParamsToEntity(paramsEntity); + Optional protocolParams = localProtocolParamsRepository.getLocalProtocolParams(); log.debug("Protocol parameters fetched from the indexer: {} \nand saved in cachedProtocolParams", - paramsEntity); - return protocolParams; + protocolParams); + if(protocolParams.isEmpty()) { + ProtocolParamsEntity paramsEntity = epochParamRepository.findLatestProtocolParams(); + return mapperProtocolParams.mapProtocolParamsToEntity(paramsEntity); + } else { + return protocolParams.get().getProtocolParams(); + } } @Scheduled(fixedRate = 3600000) // 1 hour diff --git a/api/src/main/resources/config/application.yaml b/api/src/main/resources/config/application.yaml index 5c95a4ed2..9fc1a425a 100644 --- a/api/src/main/resources/config/application.yaml +++ b/api/src/main/resources/config/application.yaml @@ -6,7 +6,7 @@ server: spring: profiles: - active: ${API_SPRING_PROFILES_ACTIVE:staging, standalone} + active: ${API_SPRING_PROFILES_ACTIVE:dev} jackson: default-property-inclusion: NON_NULL serialization: diff --git a/api/src/test/java/org/cardanofoundation/rosetta/api/data/account/AccountBalanceApiTest.java b/api/src/test/java/org/cardanofoundation/rosetta/api/account/controller/AccountBalanceApiTest.java similarity index 98% rename from api/src/test/java/org/cardanofoundation/rosetta/api/data/account/AccountBalanceApiTest.java rename to api/src/test/java/org/cardanofoundation/rosetta/api/account/controller/AccountBalanceApiTest.java index 84d8da553..29bbf46c6 100644 --- a/api/src/test/java/org/cardanofoundation/rosetta/api/data/account/AccountBalanceApiTest.java +++ b/api/src/test/java/org/cardanofoundation/rosetta/api/account/controller/AccountBalanceApiTest.java @@ -1,4 +1,4 @@ -package org.cardanofoundation.rosetta.api.data.account; +package org.cardanofoundation.rosetta.api.account.controller; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -35,7 +35,6 @@ class AccountBalanceApiTest extends BaseSpringMvcSetup { private final String currentAdaBalance = "3636394"; private final String previousAdaBalance = "1636394"; - private final String currentLovelaceBalance = "1939500"; @Test void accountBalance2Ada_Test() { @@ -71,7 +70,7 @@ void accountBalanceMintedTokenAndEmptyName_Test() { accountBalanceResponse.getBalances().get(1).getValue()); assertNotEquals(accountBalanceResponse.getBalances().getFirst().getCurrency().getSymbol(), accountBalanceResponse.getBalances().get(1).getCurrency().getSymbol()); - assertEquals("", accountBalanceResponse.getBalances().get(2).getCurrency().getSymbol()); + assertEquals("", accountBalanceResponse.getBalances().get(1).getCurrency().getSymbol()); } @Test diff --git a/api/src/test/java/org/cardanofoundation/rosetta/api/data/account/AccountCoinsApiTest.java b/api/src/test/java/org/cardanofoundation/rosetta/api/account/controller/AccountCoinsApiTest.java similarity index 99% rename from api/src/test/java/org/cardanofoundation/rosetta/api/data/account/AccountCoinsApiTest.java rename to api/src/test/java/org/cardanofoundation/rosetta/api/account/controller/AccountCoinsApiTest.java index fe410aa13..7d263e87c 100644 --- a/api/src/test/java/org/cardanofoundation/rosetta/api/data/account/AccountCoinsApiTest.java +++ b/api/src/test/java/org/cardanofoundation/rosetta/api/account/controller/AccountCoinsApiTest.java @@ -1,4 +1,4 @@ -package org.cardanofoundation.rosetta.api.data.account; +package org.cardanofoundation.rosetta.api.account.controller; import java.util.Arrays; import java.util.List; @@ -36,7 +36,7 @@ class AccountCoinsApiTest extends BaseSpringMvcSetup { - private final String myAssetPolicyId = "7fb3df13910c057bd9254e847c076fb02de78503b9fa0ecdd70b566c"; + private final String myAssetPolicyId = "d97e36383ae494e72b736ace04080f2953934626376ee06cf84adeb4"; private final String latestTxHashOnZeroSlot = generatedDataMap.get( TestTransactionNames.SIMPLE_NEW_EMPTY_NAME_COINS_TRANSACTION.getName()).txHash() + ":0"; private final String expectedTestAccountCoinAmount = "1636394"; diff --git a/api/src/test/java/org/cardanofoundation/rosetta/api/construction/service/MetadataApiTest.java b/api/src/test/java/org/cardanofoundation/rosetta/api/construction/service/MetadataApiTest.java index e5dbb265e..581632058 100644 --- a/api/src/test/java/org/cardanofoundation/rosetta/api/construction/service/MetadataApiTest.java +++ b/api/src/test/java/org/cardanofoundation/rosetta/api/construction/service/MetadataApiTest.java @@ -43,7 +43,7 @@ void combineWithMetadataTest() throws IOException { assertEquals(ADA, constructionMetadataResponse.getSuggestedFee().getFirst().getCurrency().getSymbol()); assertEquals(ADA_DECIMALS, constructionMetadataResponse.getSuggestedFee().getFirst().getCurrency().getDecimals()); - assertEquals(BigDecimal.valueOf(68), constructionMetadataResponse.getMetadata().getTtl()); + assertEquals(BigDecimal.valueOf(79), constructionMetadataResponse.getMetadata().getTtl()); assertEquals("4310", constructionMetadataResponse.getMetadata().getProtocolParameters().getCoinsPerUtxoSize()); assertEquals("2000000", constructionMetadataResponse.getMetadata().getProtocolParameters().getKeyDeposit()); assertEquals("500000000", constructionMetadataResponse.getMetadata().getProtocolParameters().getPoolDeposit()); diff --git a/api/src/test/java/org/cardanofoundation/rosetta/common/cache/ProtocolParamsCacheTest.java b/api/src/test/java/org/cardanofoundation/rosetta/common/cache/ProtocolParamsCacheTest.java index d9a4aa10b..c2c9fa3f0 100644 --- a/api/src/test/java/org/cardanofoundation/rosetta/common/cache/ProtocolParamsCacheTest.java +++ b/api/src/test/java/org/cardanofoundation/rosetta/common/cache/ProtocolParamsCacheTest.java @@ -1,5 +1,7 @@ package org.cardanofoundation.rosetta.common.cache; +import java.util.Optional; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; @@ -12,8 +14,10 @@ import org.junit.jupiter.api.Test; import org.cardanofoundation.rosetta.api.block.model.domain.ProtocolParams; +import org.cardanofoundation.rosetta.api.block.model.entity.LocalProtocolParamsEntity; import org.cardanofoundation.rosetta.api.block.model.entity.ProtocolParamsEntity; import org.cardanofoundation.rosetta.api.block.model.repository.EpochParamRepository; +import org.cardanofoundation.rosetta.api.block.model.repository.LocalProtocolParamsRepository; import org.cardanofoundation.rosetta.common.mapper.ProtocolParamsMapper; import org.cardanofoundation.rosetta.common.services.ProtocolParamServiceImpl; @@ -32,6 +36,8 @@ class ProtocolParamsCacheTest { @MockBean private EpochParamRepository epochParamRepository; + @MockBean + private LocalProtocolParamsRepository localProtocolParamsRepository; @MockBean private ProtocolParamsMapper protocolParamsToEntity; @@ -56,16 +62,14 @@ void protocolParamsCacheTest() { paramsEntity.setMinFeeA(1); ProtocolParams protocolParams = new ProtocolParams(); protocolParams.setMinFeeA(1); - - when(epochParamRepository.findLatestProtocolParams()).thenReturn(paramsEntity); - when(protocolParamsToEntity.mapProtocolParamsToEntity(paramsEntity)).thenReturn(protocolParams); + LocalProtocolParamsEntity localProtocolParamsEntity = LocalProtocolParamsEntity.builder().protocolParams(protocolParams).build(); + when(localProtocolParamsRepository.getLocalProtocolParams()).thenReturn(Optional.of(localProtocolParamsEntity)); ProtocolParams result1 = genesisService.findProtocolParametersFromIndexer(); ProtocolParams result2 = genesisService.findProtocolParametersFromIndexer(); // Assert that the repository & mapper method is only called once - verify(epochParamRepository, times(1)).findLatestProtocolParams(); - verify(protocolParamsToEntity, times(1)).mapProtocolParamsToEntity(paramsEntity); + verify(localProtocolParamsRepository, times(1)).getLocalProtocolParams(); assertEquals(result1, result2); Cache cache = cacheManager.getCache(PROTOCOL_PARAMS_CACHE); diff --git a/api/src/test/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImplTest.java b/api/src/test/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImplTest.java index 42b8f336b..153eabca6 100644 --- a/api/src/test/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImplTest.java +++ b/api/src/test/java/org/cardanofoundation/rosetta/common/services/ProtocolParamServiceImplTest.java @@ -1,5 +1,7 @@ package org.cardanofoundation.rosetta.common.services; +import java.util.Optional; + import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; @@ -8,9 +10,8 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.cardanofoundation.rosetta.api.block.model.domain.ProtocolParams; -import org.cardanofoundation.rosetta.api.block.model.entity.ProtocolParamsEntity; -import org.cardanofoundation.rosetta.api.block.model.repository.EpochParamRepository; -import org.cardanofoundation.rosetta.common.mapper.ProtocolParamsMapper; +import org.cardanofoundation.rosetta.api.block.model.entity.LocalProtocolParamsEntity; +import org.cardanofoundation.rosetta.api.block.model.repository.LocalProtocolParamsRepository; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.when; @@ -19,24 +20,19 @@ class ProtocolParamServiceImplTest { @Mock - EpochParamRepository epochParamRepository; - @Mock - ProtocolParamsMapper protocolParamsMapper; + LocalProtocolParamsRepository protocolParamsRepository; @InjectMocks ProtocolParamServiceImpl genesisService; - @Test - void getProtocolParameters() { - when(genesisService.findProtocolParametersFromIndexer()).thenReturn(new ProtocolParams()); - assertNotNull(genesisService.findProtocolParametersFromIndexer()); - } - @Test void findProtocolParametersFromIndexerTest() { //given - ProtocolParamsEntity protocolParams = new ProtocolParamsEntity(); - when(epochParamRepository.findLatestProtocolParams()).thenReturn(protocolParams); - when(protocolParamsMapper.mapProtocolParamsToEntity(protocolParams)).thenReturn(new ProtocolParams()); + when(protocolParamsRepository.getLocalProtocolParams()).thenReturn(Optional.of( + LocalProtocolParamsEntity.builder() + .epoch(5L) + .protocolParams( + ProtocolParams.builder().build()) + .build())); //when ProtocolParams protocolParameters = genesisService.findProtocolParametersFromIndexer(); //then diff --git a/api/src/test/resources/config/application-test-integration.yaml b/api/src/test/resources/config/application-test-integration.yaml index c5432c2e9..af61a6194 100644 --- a/api/src/test/resources/config/application-test-integration.yaml +++ b/api/src/test/resources/config/application-test-integration.yaml @@ -16,8 +16,8 @@ spring: max-request-size: 16MB datasource: driver-class-name: org.h2.Driver - username: ${DB_USER:rosetta_db_admin} - password: ${DB_SECRET:weakpwd#123_d} + username: rosetta_db_admin + password: weakpwd#123_d url: jdbc:h2:file:../testData/devkit.db # url: jdbc:h2:mem:${DB_NAME:rosetta-java};INIT=RUNSCRIPT FROM 'classpath:init.sql;DB_CLOSE_DELAY=-1;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH sql: diff --git a/config/mainnet/config.json b/config/mainnet/config.json index 90fc38db2..dade1c284 100644 --- a/config/mainnet/config.json +++ b/config/mainnet/config.json @@ -3,14 +3,12 @@ "AlonzoGenesisHash": "7e94a15f55d1e82d10f09203fa1d40f8eede58fd8066542cf6566008068ed874", "ByronGenesisFile": "byron-genesis.json", "ByronGenesisHash": "5f20df933584822601f9e3f8c024eb5eb252fe8cefb24d1317dc3d432e940ebb", - "ConwayGenesisFile": "conway-genesis.json", - "ConwayGenesisHash": "de609b281cb3d8ae91a9d63a00c87092975612d603aa54c0f1c6a781e33d6e1e", "EnableP2P": true, "LastKnownBlockVersion-Alt": 0, "LastKnownBlockVersion-Major": 3, "LastKnownBlockVersion-Minor": 0, "MaxKnownMajorProtocolVersion": 2, - "MinNodeVersion": "8.9.2", + "MinNodeVersion": "8.12.0", "PeerSharing": true, "Protocol": "Cardano", "RequiresNetworkMagic": "RequiresNoMagic", @@ -18,7 +16,7 @@ "ShelleyGenesisHash": "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81", "TargetNumberOfActivePeers": 20, "TargetNumberOfEstablishedPeers": 50, - "TargetNumberOfKnownPeers": 100, + "TargetNumberOfKnownPeers": 150, "TargetNumberOfRootPeers": 60, "TraceAcceptPolicy": true, "TraceBlockFetchClient": false, diff --git a/config/mainnet/topology.json b/config/mainnet/topology.json index dbb09fd92..0a91fd227 100644 --- a/config/mainnet/topology.json +++ b/config/mainnet/topology.json @@ -28,4 +28,4 @@ } ], "useLedgerAfterSlot": 116812831 -} \ No newline at end of file +} diff --git a/config/preprod/config.json b/config/preprod/config.json index 92297d10f..ec2b280c4 100644 --- a/config/preprod/config.json +++ b/config/preprod/config.json @@ -1,23 +1,21 @@ { - "AlonzoGenesisFile": "/config/alonzo-genesis.json", + "AlonzoGenesisFile": "alonzo-genesis.json", "AlonzoGenesisHash": "7e94a15f55d1e82d10f09203fa1d40f8eede58fd8066542cf6566008068ed874", - "ByronGenesisFile": "/config/byron-genesis.json", + "ByronGenesisFile": "byron-genesis.json", "ByronGenesisHash": "d4b8de7a11d929a323373cbab6c1a9bdc931beffff11db111cf9d57356ee1937", - "ConwayGenesisFile": "/config/conway-genesis.json", - "ConwayGenesisHash": "de609b281cb3d8ae91a9d63a00c87092975612d603aa54c0f1c6a781e33d6e1e", "EnableP2P": true, "LastKnownBlockVersion-Alt": 0, "LastKnownBlockVersion-Major": 2, "LastKnownBlockVersion-Minor": 0, - "MinNodeVersion": "8.9.2", + "MinNodeVersion": "8.12.0", "PeerSharing": true, "Protocol": "Cardano", "RequiresNetworkMagic": "RequiresMagic", - "ShelleyGenesisFile": "/config/shelley-genesis.json", + "ShelleyGenesisFile": "shelley-genesis.json", "ShelleyGenesisHash": "162d29c4e1cf6b8a84f2d692e67a3ac6bc7851bc3e6e4afe64d15778bed8bd86", "TargetNumberOfActivePeers": 20, "TargetNumberOfEstablishedPeers": 50, - "TargetNumberOfKnownPeers": 100, + "TargetNumberOfKnownPeers": 150, "TargetNumberOfRootPeers": 60, "TraceAcceptPolicy": true, "TraceBlockFetchClient": false, diff --git a/config/preview/config.json b/config/preview/config.json index 9a658f075..14a2834b7 100644 --- a/config/preview/config.json +++ b/config/preview/config.json @@ -1,25 +1,23 @@ { - "AlonzoGenesisFile": "/config/alonzo-genesis.json", + "AlonzoGenesisFile": "alonzo-genesis.json", "AlonzoGenesisHash": "7e94a15f55d1e82d10f09203fa1d40f8eede58fd8066542cf6566008068ed874", - "ByronGenesisFile": "/config/byron-genesis.json", + "ByronGenesisFile": "byron-genesis.json", "ByronGenesisHash": "83de1d7302569ad56cf9139a41e2e11346d4cb4a31c00142557b6ab3fa550761", - "ConwayGenesisFile": "/config/conway-genesis.json", - "ConwayGenesisHash": "de609b281cb3d8ae91a9d63a00c87092975612d603aa54c0f1c6a781e33d6e1e", "EnableP2P": true, "ExperimentalHardForksEnabled": false, "ExperimentalProtocolsEnabled": false, "LastKnownBlockVersion-Alt": 0, "LastKnownBlockVersion-Major": 3, "LastKnownBlockVersion-Minor": 1, - "MinNodeVersion": "8.9.2", + "MinNodeVersion": "8.12.0", "PeerSharing": true, "Protocol": "Cardano", "RequiresNetworkMagic": "RequiresMagic", - "ShelleyGenesisFile": "/config/shelley-genesis.json", + "ShelleyGenesisFile": "shelley-genesis.json", "ShelleyGenesisHash": "363498d1024f84bb39d3fa9593ce391483cb40d479b87233f868d6e57c3a400d", "TargetNumberOfActivePeers": 20, "TargetNumberOfEstablishedPeers": 50, - "TargetNumberOfKnownPeers": 100, + "TargetNumberOfKnownPeers": 150, "TargetNumberOfRootPeers": 60, "TestAllegraHardForkAtEpoch": 0, "TestAlonzoHardForkAtEpoch": 0, diff --git a/config/sanchonet/config.json b/config/sanchonet/config.json index 509c95f10..9a73fd21b 100644 --- a/config/sanchonet/config.json +++ b/config/sanchonet/config.json @@ -1,21 +1,21 @@ { - "AlonzoGenesisFile": "/config/alonzo-genesis.json", + "AlonzoGenesisFile": "alonzo-genesis.json", "AlonzoGenesisHash": "8bedcaea62107d8a79ed5293b0027b3f8706a4bc2422f33380cb1fd01c6fa6ec", - "ByronGenesisFile": "/config/byron-genesis.json", + "ByronGenesisFile": "byron-genesis.json", "ByronGenesisHash": "785eb88427e136378a15b0a152a8bfbeec7a611529ccda29c43a1e60ffb48eaa", - "ConwayGenesisFile": "/config/conway-genesis.json", - "ConwayGenesisHash": "49ef010ff0d13b090893a919bbc22022038a8b782faa0b1561a256b781672174", + "ConwayGenesisFile": "conway-genesis.json", + "ConwayGenesisHash": "79766b0c18076e9abefc806526714f30d42b14dba9f187fb316bd4e70c815ef4", "EnableP2P": true, "ExperimentalHardForksEnabled": true, "ExperimentalProtocolsEnabled": true, "LastKnownBlockVersion-Alt": 0, "LastKnownBlockVersion-Major": 3, "LastKnownBlockVersion-Minor": 1, - "MinNodeVersion": "8.10.0", + "MinNodeVersion": "8.11.0", "PeerSharing": true, "Protocol": "Cardano", "RequiresNetworkMagic": "RequiresMagic", - "ShelleyGenesisFile": "/config/shelley-genesis.json", + "ShelleyGenesisFile": "shelley-genesis.json", "ShelleyGenesisHash": "f94457ec45a0c6773057a529533cf7ccf746cb44dabd56ae970e1dbfb55bfdb2", "TargetNumberOfActivePeers": 20, "TargetNumberOfEstablishedPeers": 50, diff --git a/config/sanchonet/conway-genesis.json b/config/sanchonet/conway-genesis.json index 87c9bb30f..33719afca 100644 --- a/config/sanchonet/conway-genesis.json +++ b/config/sanchonet/conway-genesis.json @@ -1,39 +1,278 @@ { "poolVotingThresholds": { - "committeeNormal": 0.60, + "committeeNormal": 0.6, "committeeNoConfidence": 0.51, "hardForkInitiation": 0.51, - "motionNoConfidence": 0.60, - "ppSecurityGroup": 0.60 + "motionNoConfidence": 0.6, + "ppSecurityGroup": 0.6 }, "dRepVotingThresholds": { "motionNoConfidence": 0.67, "committeeNormal": 0.67, - "committeeNoConfidence": 0.60, + "committeeNoConfidence": 0.6, "updateToConstitution": 0.75, - "hardForkInitiation": 0.60, + "hardForkInitiation": 0.6, "ppNetworkGroup": 0.67, "ppEconomicGroup": 0.67, "ppTechnicalGroup": 0.67, "ppGovGroup": 0.75, "treasuryWithdrawal": 0.67 }, - "committeeMinSize": 7, + "committeeMinSize": 3, "committeeMaxTermLength": 73, - "govActionLifetime": 6, + "govActionLifetime": 8, "govActionDeposit": 50000000000, "dRepDeposit": 500000000, "dRepActivity": 20, "minFeeRefScriptCostPerByte": 44, + "plutusV3CostModel": [ + 205665, + 812, + 1, + 1, + 1000, + 571, + 0, + 1, + 1000, + 24177, + 4, + 1, + 1000, + 32, + 117366, + 10475, + 4, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 100, + 100, + 23000, + 100, + 19537, + 32, + 175354, + 32, + 46417, + 4, + 221973, + 511, + 0, + 1, + 89141, + 32, + 497525, + 14068, + 4, + 2, + 196500, + 453240, + 220, + 0, + 1, + 1, + 1000, + 28662, + 4, + 2, + 245000, + 216773, + 62, + 1, + 1060367, + 12586, + 1, + 208512, + 421, + 1, + 187000, + 1000, + 52998, + 1, + 80436, + 32, + 43249, + 32, + 1000, + 32, + 80556, + 1, + 57667, + 4, + 1000, + 10, + 197145, + 156, + 1, + 197145, + 156, + 1, + 204924, + 473, + 1, + 208896, + 511, + 1, + 52467, + 32, + 64832, + 32, + 65493, + 32, + 22558, + 32, + 16563, + 32, + 76511, + 32, + 196500, + 453240, + 220, + 0, + 1, + 1, + 69522, + 11687, + 0, + 1, + 60091, + 32, + 196500, + 453240, + 220, + 0, + 1, + 1, + 196500, + 453240, + 220, + 0, + 1, + 1, + 1159724, + 392670, + 0, + 2, + 806990, + 30482, + 4, + 1927926, + 82523, + 4, + 265318, + 0, + 4, + 0, + 85931, + 32, + 205665, + 812, + 1, + 1, + 41182, + 32, + 212342, + 32, + 31220, + 32, + 32696, + 32, + 43357, + 32, + 32247, + 32, + 38314, + 32, + 35190005, + 10, + 57996947, + 18975, + 10, + 39121781, + 32260, + 10, + 23000, + 100, + 23000, + 100, + 832808, + 18, + 3209094, + 6, + 331451, + 1, + 65990684, + 23097, + 18, + 114242, + 18, + 94393407, + 87060, + 18, + 16420089, + 18, + 2145798, + 36, + 3795345, + 12, + 889023, + 1, + 204237282, + 23271, + 36, + 129165, + 36, + 189977790, + 85902, + 36, + 33012864, + 36, + 388443360, + 1, + 401885761, + 72, + 2331379, + 72, + 1927926, + 82523, + 4, + 117366, + 10475, + 4, + 1292075, + 24469, + 74, + 0, + 1, + 936157, + 49601, + 237, + 0, + 1 + ], "constitution": { "anchor": { - "url": "", - "dataHash": "0000000000000000000000000000000000000000000000000000000000000000" + "url": "https://raw.githubusercontent.com/carloslodelar/proposals/main/constitution.txt", + "dataHash": "f89cc2469ce31c3dfda2f3e0b56c5c8b4ee4f0e5f66c30a3f12a95298b01179e" } }, "committee": { "members": { + "scriptHash-8fc13431159fdda66347a38c55105d50d77d67abc1c368b876d52ad1": 336, + "scriptHash-921e1ccb4812c4280510c9ccab81c561f3d413e7d744d48d61215d1f": 400, + "scriptHash-d5d09d9380cf9dcde1f3c6cd88b08ca9e00a3d550022ca7ee4026342": 400, + "scriptHash-2c698e41831684b16477fb50082b0c0e396d436504e39037d5366582": 400 }, - "threshold": 0.67 + "threshold": 0.66 } } diff --git a/docker-api-indexer.yaml b/docker-api-indexer.yaml index 204445e71..7e69344d1 100644 --- a/docker-api-indexer.yaml +++ b/docker-api-indexer.yaml @@ -62,8 +62,12 @@ services: GENESIS_ALONZO_PATH: ${GENESIS_ALONZO_PATH} GENESIS_CONWAY_PATH: ${GENESIS_CONWAY_PATH} PRUNING_ENABLED: ${PRUNING_ENABLED} + CARDANO_NODE_SOCKET_PATH: ${CARDANO_NODE_SOCKET_PATH} + HOST_N2C_SOCAT_HOST: ${HOST_N2C_SOCAT_HOST} + HOST_N2C_SOCAT_PORT: ${HOST_N2C_SOCAT_PORT} volumes: - ${CARDANO_CONFIG}:/config + - ${CARDANO_NODE_DIR}:${CARDANO_NODE_DIR} restart: always depends_on: db: diff --git a/docker/.env.dockerfile b/docker/.env.dockerfile index eaf9264aa..6fd759b83 100644 --- a/docker/.env.dockerfile +++ b/docker/.env.dockerfile @@ -27,7 +27,7 @@ DB_PORT=5432 ## Cardano node variables CARDANO_NODE_HOST=localhost CARDANO_NODE_PORT=3001 -CARDANO_NODE_VERSION=8.9.0 +CARDANO_NODE_VERSION=9.0.0 CARDANO_NODE_SUBMIT_HOST=localhost NODE_SUBMIT_API_PORT=8090 CARDANO_NODE_SOCKET_PATH=/node/node.socket diff --git a/docker/Dockerfile b/docker/Dockerfile index c15998239..9e6a114fd 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -48,7 +48,7 @@ RUN git clone https://github.com/input-output-hk/mithril.git \ # Cardano node version -ARG CARDANO_NODE_VERSION=8.9.4 +ARG CARDANO_NODE_VERSION=9.0.0 # Install sodium RUN export IOHKNIX_VERSION=$(curl https://raw.githubusercontent.com/IntersectMBO/cardano-node/${CARDANO_NODE_VERSION}/flake.lock | jq -r '.nodes.iohkNix.locked.rev') \ diff --git a/pom.xml b/pom.xml index f699c9aa2..105bbca43 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ 0.4.3 0.5.1 0.2.5 - 0.1.0-rc2-323a1a4-SNAPSHOT + 0.1.0-rc5-d3672d3-SNAPSHOT 2.11.0 2.0.1.Final 2.43.0 diff --git a/testData/devkit.db.mv.db b/testData/devkit.db.mv.db index 163cd8c5e2f3267e8d1222f7c4c8766b6b3038e1..2235c4662f92f75cd806cf859378ca012fc43aba 100644 GIT binary patch literal 294912 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∋dlAfk7dg|v_Zy8>z`U{T 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 XHYCiq|9C-K?08kN{Ja0YzOH`)Pmj!r diff --git a/testData/testdata.json b/testData/testdata.json index 6d8c2343d..0de988247 100644 --- a/testData/testdata.json +++ b/testData/testdata.json @@ -1,57 +1,57 @@ { "stake_key_deregistration" : { "txHash" : "032ce4a519f2068703b0c78a00e8140f0f99de88e0b653750bf5d6f95b1c5ed2", - "blockHash" : "f9b9efb723ce51281cd7dbeb8ea22d405aa20b0be1678d71c60768aa9b1284fc", - "blockNumber" : 33 + "blockHash" : "e9ec3a7699137ca64d4afbdfa5372cf9f0b4317853b7a74d9514fe940f207774", + "blockNumber" : 49 }, "pool_retirement" : { "txHash" : "03b2264a382d87124b4f967fae166ff2ffc6cb0ce699f4b7812fdb81139f8264", - "blockHash" : "9982166a157fa3ecad7bb597ac5941aea11de4f18b765642dab6f120acc99ec2", - "blockNumber" : 44 + "blockHash" : "2ed3c484827494695f62f3e486f1a0348345a08ca6106404e7602fcd33691f96", + "blockNumber" : 61 }, "simple_new_empty_name_coins_transaction" : { - "txHash" : "e7d9a6e8e315a5bc60fd56afcfce38d07bde9ee6e27b2fe4f9c8b6ff9099c8c4", - "blockHash" : "602587bc0e908055fec5397cc6589d18671a282507942b833fdf674285e4b56e", - "blockNumber" : 28 + "txHash" : "5d72461b01e6fb9c0e11ef96f0a7a3cb10ab8df8c480390507b5af45500d7bb5", + "blockHash" : "8e3168ffa499b738976639d39cb63afb9b13d4ba5ddb12885d90700a005d5541", + "blockNumber" : 44 }, "simple_second_lovelace_transaction" : { "txHash" : "6dcbc6a6a5522970a06c85b7655eb3b766624efa90b539b4f39963da4197b719", - "blockHash" : "9f00a0855efe6a8fb6b0f98b5594cfba2e7e071f43929ad48fe5bfe236b08331", - "blockNumber" : 24 + "blockHash" : "0a305167b84f33fea002929ca3c27e1ff439c265d209d164aeb2a8d75ae72242", + "blockNumber" : 40 }, "pool_delegation" : { "txHash" : "f9636da9997361320db793dd6f9d7812ac186afadb28731bb3d57b3309d76ebd", - "blockHash" : "ed77ebe525228d3331fa98ce9eeb70eee7b32409e390ec6534afb9d64c8ee680", - "blockNumber" : 42 + "blockHash" : "dd83cbad41fa8a38393c15c967a9f7e013346af17ea6a10df3afa6d6934bb3fe", + "blockNumber" : 59 }, "simple_first_lovelace_transaction" : { "txHash" : "97f5a0de75fe0a0098228765b44a09b15cee7142fcf97868817f594b51729553", - "blockHash" : "4828dcc220d6924ba280c4e41b7339a1e12606b7aaa0588cbccb3954497021fa", - "blockNumber" : 22 + "blockHash" : "7e7845a1608cef674c75cc1eb0dac7122e2f552d6be1ecfedd7f20be0acc62e8", + "blockNumber" : 38 }, "simple_transaction_2" : { "txHash" : "820999c1a9236cd0bf0c2d1f576d317049a5f54d205227ec308ec08cada54528", - "blockHash" : "9a530536f286245f2c9e2faff4c1364472172e84d3246a7591adc1a79c5e5260", - "blockNumber" : 35 + "blockHash" : "603f93edf14ffbcefeaad59ddbbcad15ade41737119bc76143ebf942d8963335", + "blockNumber" : 51 }, "pool_registration" : { "txHash" : "f0a4f95c9952b95570f33e0b6bfe71c262206945925c71115160b7070d878a4a", - "blockHash" : "ee14291f2210865a241fbfe5e16570bff9d8240c363473d513f9ddfeb667b8da", - "blockNumber" : 37 + "blockHash" : "3b580a2a0e0e5ed8c05e28323f1bdc540123666622142d53655fbaff5bbccf46", + "blockNumber" : 53 }, "simple_new_coins_transaction" : { - "txHash" : "ca3e467c8bc9aa2d5cb17576169cf66cd3694bf1f14682c3b94ad70e89498a06", - "blockHash" : "2c590cb5662aee6ec8e6282d99846df45f03b56c6f68b04c648e1e04ddf2b402", - "blockNumber" : 26 + "txHash" : "f7ae2c35f5a5562b8364061dc103ca99a2066704436a82ff3c969bb1ec3d5a5f", + "blockHash" : "65c8cedc9525ef921c34d58c85435e8dcd59820b9322da1dafa9f9e3239ff818", + "blockNumber" : 42 }, "stake_key_registration" : { "txHash" : "d6d8ed0323bf594e692569d2d256ed1472e1c9e132552ef659452c9140191fec", - "blockHash" : "eec3a4ec9358b425068d942c20a4a73f020e36e6cf958fa1dc9d17d1f10aff8b", - "blockNumber" : 31 + "blockHash" : "610578ced4c6c121f10494f77df354b0cefdea72ee5fc46cb98510b3ad039054", + "blockNumber" : 47 }, "simple_transaction" : { "txHash" : "6a8ace2755a79bd239f43b7562cb80a11c062c5ec5ed9418da6553c89c5405b3", - "blockHash" : "65067e5651bd8b3051463ab46464f2c45cda8b3669aa2cf69f5d2297d613d4f4", - "blockNumber" : 20 + "blockHash" : "15bb0756e14a7faebaea092ac56d7b4d5c54cdaa964b1382e0a6d2523de05b0e", + "blockNumber" : 35 } } \ No newline at end of file diff --git a/yaci-indexer/pom.xml b/yaci-indexer/pom.xml index 0a4e8d1e8..c6cba5a25 100644 --- a/yaci-indexer/pom.xml +++ b/yaci-indexer/pom.xml @@ -16,7 +16,7 @@ yaci-indexer 21 - 0.1.0-rc2-323a1a4-SNAPSHOT + 0.1.0-rc5-d3672d3-SNAPSHOT src/main/java/org/cardanofoundation/rosetta/yaciindexer/stores/txsize/model/* 2.43.0 diff --git a/yaci-indexer/src/main/resources/application-h2-testdata.properties b/yaci-indexer/src/main/resources/application-h2-testdata.properties index 234cb21c8..cf067f902 100644 --- a/yaci-indexer/src/main/resources/application-h2-testdata.properties +++ b/yaci-indexer/src/main/resources/application-h2-testdata.properties @@ -5,6 +5,6 @@ ##################### H2 DB ####################### spring.datasource.url=jdbc:h2:file:./testData/devkit.db -spring.datasource.username=${DB_USER:rosetta_db_admin} -spring.datasource.password=${DB_SECRET:weakpwd#123_d} +spring.datasource.username=rosetta_db_admin +spring.datasource.password=weakpwd#123_d spring.h2.console.enabled=true \ No newline at end of file diff --git a/yaci-indexer/src/main/resources/application-n2c-socat.properties b/yaci-indexer/src/main/resources/application-n2c-socat.properties new file mode 100644 index 000000000..ffe1fccf9 --- /dev/null +++ b/yaci-indexer/src/main/resources/application-n2c-socat.properties @@ -0,0 +1,13 @@ +################ Local Node Configuration for Node-to-Client (Optional) ###### +# Most of the information in the indexer are fetched through remote +# host and port configured in the previous section, but few information +# like protocol parameters are fetched through "Node Socket" file of +# local Cardano node using node-to-client protocol. The transaction submission +# endpoint also uses this interface. +# If a local node configuration is not found, the yaci-store just ignores those data. +# Alternatively, Local node socket for node-to-client protocol can be exposed to remote client +# using relay like "socat". In that case, set cardano.n2c.host and cardano.n2c.port +########################################################### +#store.cardano.n2c-node-socket-path=${CARDANO_NODE_SOCKET_PATH} +store.cardano.n2c-host=${HOST_N2C_SOCAT_HOST} +store.cardano.n2c-port=${HOST_N2C_SOCAT_PORT} \ No newline at end of file diff --git a/yaci-indexer/src/main/resources/application-n2c-socket.properties b/yaci-indexer/src/main/resources/application-n2c-socket.properties new file mode 100644 index 000000000..a9ff0ff28 --- /dev/null +++ b/yaci-indexer/src/main/resources/application-n2c-socket.properties @@ -0,0 +1,13 @@ +################ Local Node Configuration for Node-to-Client (Optional) ###### +# Most of the information in the indexer are fetched through remote +# host and port configured in the previous section, but few information +# like protocol parameters are fetched through "Node Socket" file of +# local Cardano node using node-to-client protocol. The transaction submission +# endpoint also uses this interface. +# If a local node configuration is not found, the yaci-store just ignores those data. +# Alternatively, Local node socket for node-to-client protocol can be exposed to remote client +# using relay like "socat". In that case, set cardano.n2c.host and cardano.n2c.port +########################################################### +store.cardano.n2c-node-socket-path=${CARDANO_NODE_SOCKET_PATH} +#store.cardano.n2c-host=192.168.0.228 +#store.cardano.n2c-port=31001 \ No newline at end of file diff --git a/yaci-indexer/src/main/resources/application.properties b/yaci-indexer/src/main/resources/application.properties index b7b315ca3..6ac89c977 100644 --- a/yaci-indexer/src/main/resources/application.properties +++ b/yaci-indexer/src/main/resources/application.properties @@ -19,20 +19,6 @@ store.cardano.host=${CARDANO_NODE_HOST:preprod-node.world.dev.cardano.org} store.cardano.port=${CARDANO_NODE_PORT:30000} store.cardano.protocol-magic=${PROTOCOL_MAGIC:1} -################ Local Node Configuration for Node-to-Client (Optional) ###### -# Most of the information in the indexer are fetched through remote -# host and port configured in the previous section, but few information -# like protocol parameters are fetched through "Node Socket" file of -# local Cardano node using node-to-client protocol. The transaction submission -# endpoint also uses this interface. -# If a local node configuration is not found, the yaci-store just ignores those data. -# Alternatively, Local node socket for node-to-client protocol can be exposed to remote client -# using relay like "socat". In that case, set cardano.n2c.host and cardano.n2c.port -########################################################### -#store.cardano.n2c-node-socket-path=/Users/satya/work/cardano-node/preprod/db/node.socket -#store.cardano.n2c-host=192.168.0.228 -#store.cardano.n2c-port=31001 - ############### Genesis files ############################# # The application reads the below genesis files to get data like slotLength, maxLovelaceSupply # etc. If this section is not provided, the application will try to use the values defined in the application itself. The @@ -107,7 +93,7 @@ store.executor.use-virtual-thread-for-batch-processing=true store.executor.use-virtual-thread-for-event-processing=true ## Enable this flag to automatically delete optional indexes at the start of synchronization and recreate them once it approaches completion -store.auto-index-management=true +store.auto-index-management=trueso ##################################### # DB insert batch properties for JOOQ @@ -122,4 +108,6 @@ store.admin.health-check-interval=20 store.utxo.pruning-enabled=${PRUNING_ENABLED:false} -store.utxo.pruning-interval=600 \ No newline at end of file +store.utxo.pruning-interval=600 + +store.epoch.endpoints.epoch.local.enabled=true \ No newline at end of file