-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker init - Failed to extract snapshot when using Dolos snapshot #378
Comments
@mrabdibdi-anvil we're not able to reproduce. Can you please try using a docker image tag fixed to a version? Eg: This will help us debug any version-specific errors. |
Hello @scarmuega Issue persists on MacOS (15.0.1) even with fixed version. docker run -it --rm -v ./dolos:/etc/dolos ghcr.io/txpipe/dolos:v0.18 init
Unable to find image 'ghcr.io/txpipe/dolos:v0.18' locally
v0.18: Pulling from txpipe/dolos
Digest: sha256:d7b544501c22cf5e5642a251e759310e9d0b0c1470090c43e67edc0c18b92886
Status: Downloaded newer image for ghcr.io/txpipe/dolos:v0.18
> Which network are you connecting to? Cardano Mainnet
> Do you want to use included genesis files? Yes
> Which remote peer (relay) do you want to use? backbone.mainnet.cardanofoundat
on.org:3001
> How much history of the chain do you want to keep in disk? 1 day
> Do you want to serve clients via gRPC? Yes
> Do you want to serve clients via Ouroboros (aka: node socket)? Yes
> Do you want to act as a relay for other nodes? Yes
config saved to dolos.toml
> which bootstrap method would you like to use? Dolos snapshot (a few mins, tru
t me bro)
> which variant of the snapshot would you like to use? ledger snapshot (just th
Error: x Failed to extract snapshot
|-> failed to unpack `/data/ledger`
|-> failed to unpack `ledger` into `/data/ledger`
|-> error decoding response body
`-> operation timed out Can it be a macos / docker desktop limitation ? Tested successfully with v0.18 on Linux host docker run -it --rm -v ./dolos:/etc/dolos ghcr.io/txpipe/dolos:v0.18 init
Unable to find image 'ghcr.io/txpipe/dolos:v0.18' locally
v0.18: Pulling from txpipe/dolos
a480a496ba95: Already exists
df96f99efb88: Pull complete
d0ccff60652d: Pull complete
ae0adb3062cd: Pull complete
355be3b1d524: Pull complete
5daa3e8d926c: Pull complete
Digest: sha256:d7b544501c22cf5e5642a251e759310e9d0b0c1470090c43e67edc0c18b92886
Status: Downloaded newer image for ghcr.io/txpipe/dolos:v0.18
> Which network are you connecting to? Cardano Mainnet
> Do you want to use included genesis files? Yes
> Which remote peer (relay) do you want to use? backbone.mainnet.cardanofoundation.org:3001
> How much history of the chain do you want to keep in disk? 1 day
> Do you want to serve clients via gRPC? Yes
> Do you want to serve clients via Ouroboros (aka: node socket)? Yes
> Do you want to act as a relay for other nodes? Yes
config saved to dolos.toml
> which bootstrap method would you like to use? Dolos snapshot (a few mins, trust me bro)
> which variant of the snapshot would you like to use? ledger snapshot (just the ledger)
Dolos is ready!
- run `dolos daemon` to start the node Tested with the latest tag with linux and working as expected: docker run -it --rm -v ./dolos1:/etc/dolos ghcr.io/txpipe/dolos:latest init Thanks for your time |
Was able to successfully test fetching the utxos using UTXORPC and dolos using linux + docker. import { CardanoQueryClient } from "npm:@utxorpc/sdk";
import { Buffer } from "node:buffer";
import {
TransactionUnspentOutput,
TransactionInput,
TransactionOutput,
TransactionHash,
TransactionUnspentOutputs,
} from "npm:@emurgo/[email protected]";
const queryClient = new CardanoQueryClient({
// Dolos Endpoint
uri: "http://127.0.0.1:50051",
});
const utxos = await queryClient.searchUtxosByAddress(
Buffer.from(
// Fetched from browser using wallet.getChangeAddress()
"01748db2058acba59a4cac60ea2169d052276e1c7f97a8d03bfb1d0e638156ab4c0083b4f0bc41b18573a76151498101c764737e62fe7bcea1",
"hex",
),
);
const parsedUtxo: TransactionUnspentOutputs = TransactionUnspentOutputs.new();
for (const utxo of utxos) {
// UTXOs from browser
if (typeof utxo === "string") {
parsedUtxo.add(TransactionUnspentOutput.from_hex(utxo));
} else {
// UTXOs from dolos
const bytes = utxo.nativeBytes;
if (!bytes) {
throw new Error("No native bytes");
}
parsedUtxo.add(
TransactionUnspentOutput.new(
TransactionInput.new(
TransactionHash.from_bytes(utxo.txoRef.hash),
utxo.txoRef.index,
),
TransactionOutput.from_bytes(bytes),
),
);
}
}
console.log("Parsed UTXO", parsedUtxo.to_json());
Deno.exit(0); Do you think it is pertinent to add this in the docs / examples ? This comment is unrelated to my issue on macos. |
Platform: MacOS
Docker Desktop : 4.29.0
Morning I tried the following commands:
All of them returns this message when I select the following options (didn't try other options, I wanted to test it quickly to experiment with the gRPC implementation and the node socket (ouroboros))
Goal: is to evaluate if we can fetch UTXOs and create transaction quickly
Thank you !
The text was updated successfully, but these errors were encountered: