I’m a little bit stuck right now. I’m not quite sure why but when trying to mint a token I always get an error inside my backend. I guess it has something todo with my new node.
But furthermore the error only occurs in the deployed version. I had run the exact same state locally with the same .env variables and my own node and it worked.
But in the deployed backend I get the DEADLINE_EXCEEDED error shown in the screenshot:
The deadline exceeded would suggest the node is under heavy load but it’s my private one so I think we could exclude this one. Also this would imply it won’t work on my local machine which it does.
concordium-client consensus status --grpc-ip 135.181.206.138 --grpc-port 20000
Best block:
aac844ead09d66fcf9ce8d2a9011be1e0ce9a548370cc7f75c80831131a904ef
Genesis block:
9dd9ca4d19e9393877d2c44b70f89acbfc0883c2243e5eeaecc0d1cd0503f478
Genesis time:
2021-06-09 06:00:00 UTC
Slot duration:
250ms
Epoch duration:
1h
Last finalized block:
aac844ead09d66fcf9ce8d2a9011be1e0ce9a548370cc7f75c80831131a904ef
Best block height:
6822468
Last finalized block height:
6822468
Node:
Hosted on ubuntu 22 via a hetzner server
Running the node via the latest ubuntu node client
IP: 135.181.206.138
The node was just freshly setup on a Ubuntu server hosted by Hetzner and running the Ubuntu node client.
The backend communicating with the node and calling the mint is using the normal concordium sdk and was configured with a timeout of 15000 which should be sufficient. Removing the timeout „fixes“ the deadline exceeded but the mint is still not working.
And yes the deadline exceeded error is thrown immediately at the first call.
Do I have to configure the node somehow? I just followed the normal setup instructions from your docs on a freshly installed Ubuntu.
Can you show the code that you are using that is failing?
For example if I use the following example using the Rust SDK
//! Test the `GetConsensusInfo` endpoint.
use anyhow::Context;
use clap::AppSettings;
use concordium_rust_sdk::v2;
use structopt::StructOpt;
#[derive(StructOpt)]
struct App {
#[structopt(
long = "node",
help = "GRPC interface of the node.",
default_value = "http://localhost:20000"
)]
endpoint: v2::Endpoint,
}
#[tokio::main(flavor = "multi_thread")]
async fn main() -> anyhow::Result<()> {
let app = {
let app = App::clap().global_setting(AppSettings::ColoredHelp);
let matches = app.get_matches();
App::from_clap(&matches)
};
let mut client = v2::Client::new(app.endpoint.clone())
.await
.context("Cannot connect.")?;
let info = client.get_consensus_info().await?;
println!("{:#?}", info);
Ok(())
}
And then run it as
cargo run --example v2_get_consensus_info -- --node http://135.181.206.138:20000