63个版本 (38个稳定版)
1.2.20 | 2022年3月20日 |
---|---|
1.2.17 | 2022年2月25日 |
1.1.8 | 2021年12月17日 |
1.1.1 | 2021年11月23日 |
0.2.6 | 2021年7月29日 |
#14 in #terra
被 4 crates 使用
490KB
4K SLoC
Terra Rust API
Terrad的LCD系统的Rust API。
警告
这是一个工作进度(WIP)。
尚未进行安全审计。
随机性
API当前正在通过以下方式使用随机数:
let mutrng= rand::thread_rng();
免责声明
这可能会偷走您的钱。
这不是投资建议。
请自行研究
帮助?
有一个CLI使用这个API,可能有所帮助。
我们还建立了一个Discord频道来讨论这个问题,以及其他PFC相关事宜。
如果您认为这很有用,请随时将投票委托给PFC验证者。这将有助于减轻成本。
PFC - Terra/Luna非常酷...请随时联系我
示例
use terra_rust_api::{Terra, GasOptions, PrivateKey};
use terra_rust_api::core_types::{Coin, Msg, StdSignMsg, StdSignature};
use terra_rust_api::messages::MsgSend;
use terra_rust_api::auth_types::AuthAccountResult;
// set up the LCD client
let gas_opts = GasOptions::create_with_gas_estimate("50ukrw",1.4);
let t = Terra::lcd_client("https://bombay-lcd.terra.dev/", "bombay-12", &gas_opts).await?;
// generate a private key
let secp = Secp256k1::new();
let from_key = PrivateKey::from_words(&secp,"your secret words");
let from_public_key = from_key.public_key(&secp);
// generate the message SEND 1000 uluna from your private key to someone else
let coin: Coin = Coin::parse("1000uluna")?.unwrap();
let from_account = from_public_key.account()?;
let send: MsgSend = MsgSend::create(from_account, "terra1usws7c2c6cs7nuc8vma9qzaky5pkgvm2uag6rh", vec![coin]);
// generate the transaction & calc fees
let messages = vec![send];
// and submit the message(s) to the chain
let resp = terra.submit_transaction_sync(
&secp,
&from_key,
&messages,
None
)
.await?;
println!("{}", resp.txhash)
示例
位于主'terra-rust'仓库中
- do_swap -- 如何执行自定义合约的示例。在这种情况下是一个交换。
cargo run --example do_swap -- --wallet tequilla test terra13e4jmcjnwrauvl2fnjdwex0exuzd8zrh5xk29v 1.0 1000000 uluna --max-spread
0.10 --coins 1000000uluna -l https://bombay-lcd.terra.dev -c bombay-12
**(注意)硬币和金额需要相同
- sign_message -- 使用您的密钥签名一个随机字符串
文档
依赖项
~23–40MB
~557K SLoC