Crate farcaster_rs
source ·Expand description
farcaster-rs
A Rust crate to interact with the Farcaster smart contracrts & merkle APIs
Quickstart
To get started with the farcaster-rs crate, this should serve as a simple example of how to use it
use farcaster_rs::{
Account,
Farcaster
};
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
// Initialize a new Account w/ your key and an optional token duration (milliseconds)
let account: Account = Account::from_mnemonic("super top secret phrase", None).await?;
// Connect to an ETH node
let farcaster: Farcaster = Farcaster::new("node url", account).await?;
// Get Dan Romero's Casts with his Username, while specifying a limit, and a cursor
let casts = farcaster.get_casts_by_username("dwr", Some(5), None).await?;
println!("{:#?}", casts);
Ok(())
}
Quick explanation of all folders/modules in farcaster-rs
If you’re looking for authentication
It’s best to look in the Account Struct
If you’re looking for most protocol-related functions
It’s best to look in the Farcaster Struct
If you’re looking to convert stuff like Username -> FID, FID -> Address, etc….
It’s best to look in the Registry Struct
account
The account module handles authentication w/ the Farcaster Merkle APIs. Generating tokens, revoking tokens, etc…. View documentation here
api
The API module has room for growth, but for now holds some reqwest wrappers to make my life easier View documentation here
assets
The assets module holds functions to get NFT collection related data. View documentation here
casts
The casts module holds functions related to casts on Farcaster. Getting casts, publishing casts, etc… View documentation here
follows
The follows module holds function related to followers and following. Follow users, unfollow, view followers, etc.. View documentation here
misc
The misc module holds functions that don’t entirely have a place. The only one for now is API Health View documentation here
notifications
The notifications module holds functions relating to notifications, which right now allows you to fetch notifications //! View documentation here
reactions
The reactions module allows you to view and modify your reactions. Like, recast, list likes/recasts, etc… View documentation here
registry
The registry module holds important functions most importantly relating to getting users. - Convert addres/username to FID, get users via FID, etc…… View documentation here
users
The users module holds functions relating to users on Farcaster. Get users, get custody adress’, etc… //! View documentation here
verifications
The verifications module holds functions relating to cryptographic proofs such as getting verified address’ //! View documentation here
Re-exports
Modules
- The Account module that handles authentication and tokens
- The API module that has internal functions for wrappers and such
- The Assets module that handles getting related NFT assets
- The Casts module that handles protocol casts
- The Follows module that handles followers and follows and following
- The Notifications module that handles notifications
- The Reactions module that handles likes and recasts
- Contains all of the types used throughout farcaster-rs
- The Users module that handles users
- The Verifications module that handles proof verifications
Structs
- The Farcaster type that holds the keys to the castle - so to speak :)