I would like to understand how to read the result of a sign/send in a cold storage setup. As an example let’s take the
get_full_neuron call to the governance canister. This would work if it’s done from a networked computer where the owner of the neuron is the active user and provides the neuron id as the argument of the script.
NETWORK="https://ic0.app" # Mainnet CANISTER="rrkah-fqaaa-aaaaa-aaaaq-cai" # Governance canister ARGS="($1:nat64)" echo $ARGS RESULT="$(dfx canister --no-wallet --network=$NETWORK call $CANISTER get_full_neuron $ARGS --output=raw)" didc decode -t "(Result_1)" -d ./nns-ifaces-0.8.1/governance.did $RESULT
But … my question is how can I achieve the same with a cold storage setup, where the private key is in another non-networked system. It signs the message there and then we send the corresponding message.json from a networked system.
What I tried after some advice from the telegram channel is:
- Sign the get_full_neuron request in the cold computer
- Move the message.json in the networked one and send it. Get a
request-statusto query the request id with a script like this:
#!/bin/bash NETWORK="https://ic0.app" # Mainnet CANISTER="rrkah-fqaaa-aaaaa-aaaaq-cai" # Governance canister REQUEST_ID=$1 ./dfx canister --network=$NETWORK request-status $REQUEST_ID $CANISTER
The problem with this is that I always seem to get an html 404 error.
Creating a wallet canister on the https___ic0_app network. The replica returned an HTTP Error: Http Error: status 404 Not Found, content type "text/html", content: <html> <head><title>404 Not Found</title></head> <body> <center><h1>404 Not Found</h1></center> <hr><center>nginx/1.19.10</center> </body> </html>
So how can I get around this and make it work?