farcaster-rs 0.1.0

A simple rust crate to interface & interact with the Farcaster.xyz contracts & APIs
<div align="center">
    <img src="https://raw.githubusercontent.com/TheLDB/farcaster-rs/main/docs/banner.png" >
    <h1 align="center">farcaster-rs</h1>
     <h3 align="center">🚀 A simple & easy way to interface with <a href="https://farcaster.xyz">Farcaster</a> via <span style="color: #dea584;">Rust 🦀</span></h1>
     <p>Author: Landon Boles</p>
     <div align="center" style="display: flex; justify-content: center;">
        <a href="https://github.com/TheLDB" style="padding-right: 5px;">GitHub</a>
        <p> | </p>
        <a href="https://perl.xyz/profile/lndnnft" style="padding-right: 5px; padding-left: 5px;">Farcaster</a>
        <p> | </p>
        <a href="https://twitter.com/landon_xyz" style="padding-left: 5px; padding-right: 5px;">Bird App</a>
     </div>
</div>

<br />
<br />
<br />

# Credits

- [MistApproach]https://github.com/MistApproach
  - Tons of various improvements & suggestions to build on top of the crate & prepare it for the hubs launch.

# 📜 Documentation

## For extensive documentation, visit our [docs.rs page]https://docs.rs/farcaster-rs/0.1.0/farcaster_rs/

<br />

# 🚀 Getting Started

## Installation

To get started, add the farcaster_rs crate to your `Cargo.toml` file

```toml
farcaster_rs = "0.1.0"
```

Once you have the crate installed, you can start using the crate!

## Usage

In your `main.rs` file, set up a new Farcaster struct using the `::new(client: String)` method.

```rust
use farcaster_rs::Farcaster;

#[tokio::main]
async fn main() {
    let farcaster = Farcaster::new("https://goerli.infura.io/v3/key");

    let landon = farcaster.get_user_by_username("lndnnft").await.unwrap();

    println!("{:#?}", landon);
}
```

<br />

# 🙏 Contributing

To start, I appreciate any and all contributions to the <span style="color: #dea584">farcaster-rs</span> repository!

There are 3 prefered things I'd like if you decide to contribute, however.

## 1. Ensure the issue/contribution is needed

If you spend your time building something, please ensure it's actually wanted/needed, this is best done by using the [Issues](https://github.com/TheLDB/farcaster-rs/issues) tab, and either viewing other discussions, or opening a new issue/discussion

## 2. Create a new branch for your contribution

Once you have validated the contribution, and forked the repo to your own GitHub account, please create a new branch to commit your code onto.

This can be done via the git CLI pretty easily:

```sh
$ git switch -c my_cool_feature
```

## 3. Create a detailed pull request, with documentation

I'd like to keep everything documented to make it as easy as possible for people looking to use the crate.

When opening a pull request, please ensure your function/contribution has been properly documented, and include good information about it in the PR. (use common sense)

Thanks so much!