Skip to content

v0.5.0

Latest

Choose a tag to compare

@charmful0x charmful0x released this 09 Jun 19:02
6db04b4

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