synopsis
1- introduces reference crate -- the rust implementation of @permaweb/references
resolve name
let client = ReferenceClient::new();
let value = client.resolve_name("ao").await.unwrap();
println!("value: {:?}", value);resolve reference
let client = ReferenceClient::new();
let value = client.resolve_reference("REFERENCE_ID").await.unwrap();
println!("value: {:?}", value);set reference-value
let signer = ArweaveSigner::random().unwrap();
let client = ReferenceClient::new();
let tx = client
.update_reference(
&signer,
"REFERENCE_ID",
UpdateReferenceOptions {
value: Some("NEW_TARGET_TX_ID".to_string()),
timestamp: None,
},
)
.await
.unwrap();
println!("set tx: {}", tx.id);more methods: https://github.com/permaweb/bundles-rs/tree/main/crates/references
2- introduces permawebos bundlers auto-selection (randomized) for HyperBEAM uploads
similar to @permaweb/bundlers logic for permawebOS bundlers randomized auto-selection at uploadswith no pinned uploader, the bundler crate,hyperbeam path, applies the same logic (with AO auto-funding support):
let signer = ArweaveSigner::from_jwk_file("wallet.json").unwrap();
let tags = vec![Tag::new("Content-Type", "text/plain")];
let dataitem = DataItem::build_and_sign(
&signer,
None,
None,
tags,
b"hello world hyperbeam".to_vec(),
)
.unwrap();
let client = BundlerClient::hyperbeam()
.auto_fund(signer)
.build()
.unwrap();
let tx = client.send_transaction(dataitem).await.unwrap();
println!("tx: {:?}", tx);3- removes offchain bundler support (Load S3) from bundler crate
changes
- feat: add upload signed item example by @charmful0x in #5
- feat: remove offchain bundler + update default uploader by @charmful0x in #6
Full Changelog: v0.4.0...v0.5.0