@cardano-graphql/server
Advanced tools
Changelog
2.0.0
This new major version brings the first round of Shelley-era features to the API, introduces a new genesis file API package, and hardens the migrations and metadata handling. This version is required for transitioning through the upcoming Shelley hard fork.
cardano-node
: 1.18.0
cardano-db-sync
: 3.1.0
- Note: The database must be recreated using the new version.stakePools
, stakePools_aggregate
delegations
, delegations_aggregate
stakeRegistrations
, stakeRegistrations_aggregate
stakeDeregistrations
, stakeDeregistrations_aggregate
withdrawals
, withdrawals_aggregate
genesis
cardano-db-sync
restart. using the
Hasura CLI, which
is included in the Dockerfile and NixOS
service, however outside of this you must install and place hasura
on PATH.@cardano-graphql/api-genesis
allows
access to the network genesis files. It's integrated into the server, with the config exposed
as environment variables. As usual, the docker-compose.yaml serves as a good reference.config
and committing
to source control gives you full control over the services using their native interface.Cardano.networkName
removed. Use network magic from the genesis API identify networks.Cardano.protocolConst
, Cardano.slotDuration
, Cardano.startTime
, Cardano.slotsPerEpoch
removed. Access this info from the Genesis API.cardanoDbSync.slotDiffFromNetworkTip
removed in reponse to a change in strategy for determining
sync status with cardano-db-sync
determining sync status relies on a chain
that has produceDates we're previously formatted to ISO 3339, however ISO 8601 is being adopted with this release for alignment with the Shelley genesis file format and simplification when the precision is not required.
2017-10-03T21:43:51.000Z
-> 2017-10-03T21:43:51Z
Block.createdBy
-> Block.slotLeader
links to an object, with a nullable stakePool
field. For
previous behaviour, Block.slotLeader.description
can be used, however the description prefixes have
changed upstream from SlotLeader
to ByronGenesis
Block.createdAt
-> Block.forgedAt
Block.slotWithinEpoch
-> Block.slotInEpoch
Changelog
1.0.0
Block.transactionsCount
Epoch.transactionsCount
Epoch.blocksCount
Cardano.networkName
Transaction.size
Transaction.blockIndex
Transaction.outputs
by their natural index
Cardano
now matches the postgres view, and is an improvement over the previous version which performed two queries.cgql
with commands to assist with Docker-based deployments, including init, snapshotting, and db rebuild.TransactionInput.transaction
TransactionInput.sourceTransaction
(where it was an output)TransactionOutput.transaction
CardanoDbMeta
via Query.cardanoDbMeta
exposes information to understand if the dataset is complete including:
initialized
, syncPercentage
, and slotDiffFromNetworkTip
. The epoch
data is incomplete until initialized = true
, which takes around 2 hours for the initial sync as of block number 4388632
. syncPercentage
or
slotDiffFromNetworkTip
provides progress.inputoutput/cardano-graphql-hasura
,
or use the Hasura CLI as demonstrated in the entrypoint
This change was needed to be compatible with the migration strategy determind by cardano-db-sync
,
where the migrations need to be applied on each start of the service. The custom Docker image makes it
possible to check your own docker-compose file into source control, as it supports Docker secrets, and
also removes the requirement to clone this source repo to get data for mounting at runtime.hash
, aligning with the domain terminology.Block.merkelRootHash
-> Block.merkelRoot
Transaction.fee
previously String
, now BigInt
./dist/index.js
is now ./packages/server/dist/index.js
after building.Cardano.blockHeight
removed in favour of Cardano.tip.number
, where tip
= the most recent Block
. This unlocks
more information such as slotNo
, and capability to traverse the chain etc.