4个版本
0.1.3 | 2024年7月20日 |
---|---|
0.1.2 | 2024年7月18日 |
0.1.1 | 2024年7月17日 |
0.1.0 | 2024年7月17日 |
在 网络编程 中排名 486
每月下载量 319
26KB
522 行
一个用于在开放网络(TON)上处理地址的简单库。
示例
解析地址
use ton_address::{Address, ParseError, Base64Decoder};
fn main() {
// 1. Parse the address in any form via ::parse().
let result: Result<Address, ParseError> = "EQAOl3l3CEEcKaPLHz+BDvT4P0HZkIOPf5POcILE/5qgJuR2".parse();
// 2. Parse only from base64 with alphabet guessing.
let result: Result<Address, ParseError> = Address::from_base64(
"EQAOl3l3CEEcKaPLHz+BDvT4P0HZkIOPf5POcILE/5qgJuR2",
None // Means that Base64 type will be guessed
);
// 3. Parse the address only from base64 using the standard alphabet.
//
// Note, in this example if the address is encoded in the UrlSafe
// alphabet, the method will return an error.
let result: Result<Address, ParseError> = Address::from_base64(
"EQAOl3l3CEEcKaPLHz+BDvT4P0HZkIOPf5POcILE/5qgJuR2",
Some(Base64Decoder::Standard) // or ::UrlSafe alphabet
);
}
格式化地址
use ton_address::{Address, ParseError, Base64Encoder, BASE64_STD_DEFAULT, BASE64_URL_DEFAULT};
fn main() {
let result: Address = "EQAOl3l3CEEcKaPLHz+BDvT4P0HZkIOPf5POcILE/5qgJuR2"
.parse()
.unwrap();
// Manual control of Base64 encoding
println!("{}", result.to_base64(Base64Encoder::Standard {
bounceable: false,
production: true,
})); // UQAOl3l3CEEcKaPLHz+BDvT4P0HZkIOPf5POcILE/5qg....
// Constants for fast conversion (bounceable & production by default)
println!("{}", result.to_base64(BASE64_STD_DEFAULT)); // EQAOl3l3CEEcKaPLHz-BDvT4P0HZkIOPf5POcILE_5qgJuR2
println!("{}", result.to_base64(BASE64_URL_DEFAULT)); // EQAOl3l3CEEcKaPLHz+BDvT4P0HZkIOPf5POcILE/5qgJuR2
// Or convert it to a raw address
println!("{}", result.to_raw_address()); // 0:...
}
依赖项
~0.6–1.1MB
~24K SLoC