#public-api #http-request #interface #transfer #send #address #zebedee

zebedee-rust

使用 reqwest 的 ZEBEDEE 公共 API 的实用程序包

27 个版本 (8 个破坏性版本)

0.8.0 2024 年 2 月 28 日
0.6.0 2024 年 1 月 3 日
0.5.0 2023 年 10 月 16 日
0.4.4 2023 年 7 月 16 日
0.1.3 2022 年 11 月 19 日

#13 in #public-api

每月 44 次下载

MIT 许可证

69KB
1.5K SLoC

zebedee-rust

  • 轻松与 ZEBEDEE 的公共 API 集成。
  • 目前支持公共 ZEBEDEE API 的大多数功能。
  • 接受 PR 和 Github 问题以实现所需功能。

示例用法

Bolt11 发票(创建费用)

use std::env;
use zebedee_rust::{charges::*, ZebedeeClient};

#[tokio::main]
async fn main() {
    let apikey: String = env::var("ZBD_API_KEY").unwrap();
    let zebedee_client = ZebedeeClient::new(apikey);

    // Create a Bolt 11 Invoice for 5000 msat or 5 sat.
    let charge = Charge {
        amount: String::from("5000"),
        ..Default::default()
    };

    // Create the charge
    let charges_res = zebedee_client.create_charge(&charge).await.unwrap();

    // Print the response
    println!("{:?}", charges_res);
}

支付 Lightning 地址

use std::env;
use zebedee_rust::{ln_address::*, ZebedeeClient};

#[tokio::main]
async fn main() {
    let apikey: String = env::var("ZBD_API_KEY").unwrap();
    let zebedee_client = ZebedeeClient::new(apikey);

    // Create a Lightning payment
    let payment = LnPayment {
        ln_address: String::from("[email protected]"),
        amount: String::from("1000"),
        ..Default::default()
    };

    // Initiate the payment
    let payment_res = zebedee_client.pay_ln_address(&payment).await.unwrap();
    
    // Print the result
    println!("Internal transfer result: {:?}", payment_res);
}

发送内部转账

use std::env;
use zebedee_rust::{internal_transfer::*, ZebedeeClient};

#[tokio::main]
async fn main() {
    let apikey: String = env::var("ZBD_API_KEY").unwrap();
    let zebedee_client = ZebedeeClient::new(apikey);

    // Send Internal Transfer
    let internal_transfer_payload = InternalTransfer {
        amount: String::from("1000"),
        receiver_wallet_id: String::from("b2bcc262-186a-4fe8-961e-a5246383516c"),
    };

    // Initiate the internal transfer
    let transfer_res = zebedee_client.internal_transfer(&internal_transfer_payload).await.unwrap();
    
    // Print the result
    println!("Internal transfer result: {:?}", transfer_res);
}

依赖项

~7–21MB
~325K SLoC