WIP Collection of easy to use scripts to quickly setup and experiment with multiple cardano chain indexers.
- init submodules in
./repos
with:git submodule init && git submodule update
- Use
build_<something>.sh
scripts to build projects. Executables will be installed in./bin
- Start node with
start_node_<network>.sh
. Check node sync % with./check-node-sync-<network>.sh
. - (Optional) create database if needed
- Use
start_<indexer>.sh
scripts. - Make queries.
- bin: Executables built with
build_<something>.sh
scripts (not tracked by git). - config: Config files for cardano node and indexers.
- data: Data generated by cardano node and indexers (not tracked by git).
- openapi-defs: Experimental clients generated from openAPI defs.
- repos: git submodules.
- results: Responses given after querying the indexers.
- https://hydra.iohk.io/build/13695229/download/1/index.html
- https://developers.cardano.org/docs/stake-pool-course/handbook/run-cardano-node-handbook/
- As pointed in cardano-node repo: https://book.world.dev.cardano.org/environments.html
Era bound | SlotNo | Block Hash |
---|---|---|
Last Byron Block | 4492799 | f8084c61b6a238acec985b59310b6ecec49c0ab8352249afd7268da5cff2a457 |
Last Shelley Block | 16588737 | 4e9bbbb67e3ae262133d94c3da5bffce7b1127fc436e7433b87668dba34c354a |
Last Allegra Block | 23068793 | 69c44ac1dda2ec74646e4223bc804d9126f719b1c245dadc2ad65e8de1b276d7 |
Last Mary Block | 39916796 | e72579ff89dc9ed325b723a33624b596c08141c7bd573ecfff56a1f7229e4d09 |
POINT_A | 51130917 | 7bbbdf882dc15f86ada3d5efe1457e0b4966cd4dbbe228c991c5343c2cd295f8 |
POINT_B | 54780884 | 1a66b5db811147d3e9148545b52f1e39679bf4091b96c8a92a06bc443ef24819 |
- POINT_A: Can be used to -efficiently- crawl a few tx's in address "smol_staking" (in process of confirmation)
- POINT_A: Can be used to -efficiently- crawl a few tx's in address "smol_staking" (in process of confirmation)
Era bound | SlotNo | Block Hash |
---|---|---|
Last Byron block | 1598399 | 7e16781b40ebf8b6da18f7b5e8ade855d6738095ef2f1c58c77e88b6e45997a4 |
Last Shelley block | 13694363 | b596f9739b647ab5af901c8fc6f75791e262b0aeba81994a1d622543459734f2 |
Last Allegra block | 18014387 | 9914c8da22a833a777d8fc1f735d2dbba70b99f15d765b6c6ee45fe322d92d93 |
Last Mary block | 36158304 | 2b95ce628d36c3f8f37a32c2942b48e4f9295ccfe8190bcbc1f012e1e97c79eb |
Last Alonzo block | 62510369 | d931221f9bc4cae34de422d9f4281a2b0344e86aac6b31eb54e2ee90f44a09b9 |
- Cargo migrate error: https://github.com/dcSpark/carp/commit/98cec28b5cd17cb7040461091aa2382552169e92
- Cargo authentication error: https://sathias.gitlab.io/posts/2021/08/19/rust-cargo-resolve-authentication-issue.html
services.postgresql = {
enable = true;
package = pkgs.postgresql_14;
enableTCPIP = true;
authentication = pkgs.lib.mkOverride 10 ''
local all all trust
host all all ::1/128 trust
'';
ensureDatabases = ["carp_mainnet" "carp_testnet" "ogmios_datum_cache"];
ensureUsers = [
{
name = "carp";
ensurePermissions = {
"DATABASE carp_mainnet" = "ALL PRIVILEGES";
"DATABASE carp_testnet" = "ALL PRIVILEGES";
};
}
{
name = "odc";
ensurePermissions = {
"DATABASE ogmios_datum_cache" = "ALL PRIVILEGES";
};
}
];
};
services.redis.servers = {
scrolls = {
enable = true;
port=6379;
};
};
- Get all keys: KEYS *
- Get type of key: TYPE
- Get set members: SMEMBERS
- Get string: GET
- Clear database: FLUSHDB
- Clear all databases: FLUSHALL
OpenAPI generated clients are experimental and (most likely) won't work.
[[reducers]] type = "UtxoByAddress" key_prefix = "c1" filter = ["addr1qxkwuk0fsg425h8tkfyurhj85gj0h9wy8trflh5dcey73cp5ngu35tg3rr3v0nh7gvtucgjvguwrkc3ef6p4wvsdpsssl5uzp4"] # smolStaking fulladdr (see below)
[intersect] type = "Point" value = [39916796, "e72579ff89dc9ed325b723a33624b596c08141c7bd573ecfff56a1f7229e4d09"] # Last mary block
result before slot 42700000:
127.0.0.1:6379> SMEMBERS "c1.addr1qxkwuk0fsg425h8tkfyurhj85gj0h9wy8trflh5dcey73cp5ngu35tg3rr3v0nh7gvtucgjvguwrkc3ef6p4wvsdpsssl5uzp4"
- "e1af9a709cf162a21ca78c9c7f3512a8915813cbd7be86f4665c6f84b98e4a1a#0"
- "60344374a074e641b7b31f6c6d316fe92be93b5480c3102e5bcd4261ec91e559#6"
- "72f7d40eb9d0e50b4af9d7f18e533314a9d3e56f7e037f0d97e9bd0215f4e8ad#9"
- "cd4daa21701fe658f5c6d8c81e825b205c6b465fd41af609da0230bf31baad06#2"
- "f78ae22661a25cf3990287cdb93f478ffd46f3b8c4ca9263b050cf3db6935551#0"
- "a471cb222ce051ad34388587638ee431e0cab801c535638349a61ddea1bc496c#0"
- Proper nixification
- Benchmarks