使用 Rust 获取 Solana 事务状态
get Solana transaction status using Rust
我正在尝试使用 Rust 获取 Solana 事务状态。您可以使用explorer.solana.com获取交易状态,但我想通过代码获取。
Rust SDK中有get_signature_status函数:https://github.com/solana-labs/solana/blob/master/client/src/rpc_client.rs#L1119
上面的函数需要一个签名对象:https://docs.rs/solana-sdk/0.16.2/src/solana_sdk/signature.rs.html#25
所以我尝试使用它:
let sig_s = String::from("...");
let sig: Signature = Signature(sig_s.as_bytes());
let stat = self.client.get_signature_status(&sig);
println!("{:?}", stat);
但我收到以下错误:“由于私有字段,构造函数在此处不可见”
我正在尝试了解是否有另一种创建 Signature 对象的方法,我想应该有一种方法可以创建 Signature 对象并获取其状态。
首先,您链接到一个非常过时的文档版本(v0.16.2,最新的是 v1.9.6)。请参阅 https://docs.rs/solana-sdk 了解最新版本。
在最新版本中,Signature
implements FromStr
因此您可以执行以下操作:
let sig = Signature::from_str(sig_s).unwrap();
这会给你一个 Signature
你可以使用。
我正在尝试使用 Rust 获取 Solana 事务状态。您可以使用explorer.solana.com获取交易状态,但我想通过代码获取。
Rust SDK中有get_signature_status函数:https://github.com/solana-labs/solana/blob/master/client/src/rpc_client.rs#L1119
上面的函数需要一个签名对象:https://docs.rs/solana-sdk/0.16.2/src/solana_sdk/signature.rs.html#25
所以我尝试使用它:
let sig_s = String::from("...");
let sig: Signature = Signature(sig_s.as_bytes());
let stat = self.client.get_signature_status(&sig);
println!("{:?}", stat);
但我收到以下错误:“由于私有字段,构造函数在此处不可见”
我正在尝试了解是否有另一种创建 Signature 对象的方法,我想应该有一种方法可以创建 Signature 对象并获取其状态。
首先,您链接到一个非常过时的文档版本(v0.16.2,最新的是 v1.9.6)。请参阅 https://docs.rs/solana-sdk 了解最新版本。
在最新版本中,Signature
implements FromStr
因此您可以执行以下操作:
let sig = Signature::from_str(sig_s).unwrap();
这会给你一个 Signature
你可以使用。