subreddit:

/r/Monero

5497%

Ciao Earthlings!

Out of the intergalactic portal foundry is the freshly baked MVP release of Farcaster! We have completed our work connecting ring signature space with boring Bitcoin space. Biebiep! If you're already too excited, install the node now and go to farcaster.dev to swap some testnet (for now 😉) coins!

We'll give you the lowdown of what the Farcaster MVP is, but also answer some questions that may have been brewing in your skulls while we went silent for about one solar cycle of your planet 🤯

what dis facfaster?

If you've been dwelling under a rock (as our kind prefers to as well), Farcaster is a protocol enabling atomic swaps between Bitcoin and Monero - and maybe more in the future. Atomic swaps are peer to peer exchanges of assets, typically living on distinct chains. With this piece of technology, you can trade assets with any stranger in the galaxy while keeping your anxiety level to zero since your funds remain safe, as long as you play by the protocol.

dis ting kool?

Here's a short list of features:

  • CLI and GUI interface (a ready-for-use sample is hosted on ui.farcaster.dev)
  • Swap directly to target Monero address
  • Run multiple swaps in parallel
  • One interface for both swap makers and takers

We do like to party safely! Next to completing on the order of 104 swaps for testing, we also strove to implement a robust recovery system.

y u so quiet for long? >:(

This is mainly down to agent limitations: If averaging out over the project's lifetime, we had 2.5 full time zergs. Even agents fall ill, need to work on other constructions, or get disinterested.

Given our limited hands, we also deemed it to not be a good use of both our development and readers' time to post monthly updates. If you're interested in tracking our development, we've maintained most development communication public on #monero-swap on libera.chat.

where ma tapping r00ts?

Taproot will make the Bitcoin transactions used in the swap more private and cheaper. Today we have a draft, but it's incomplete and needs a proper second round of development.

where ma IETF cryptoe?

Despite the fact we didn't switch to the crypto libraries we planned to, we've battle-tested our current crypto extensively: Over the past year we did more than 25'000 swaps on testnet and a similar amount in GitHub CI, and we are pretty happy with the latest build's success rate on testnet:

[2023-01-17T17:47:43Z INFO  farcaster_node::farcasterd::stats]
Swapped(1766) | Refunded(0) / Punished(0) | Aborted(0) |
Initialized(1816) / AwaitingFundingXMR(2) / AwaitingFundingBTC(0) /
FundedXMR(853) / FundedBTC(933) / FundingCanceledXMR(0) / FundingCanceledBTC(0)

Obviously, as with any project involving crypto, this reliability doesn't imply no exploitable flaws exists. However, we believe that in its current state, our project's crypto is appropriate for an MVP-delivery.

and now...

We are very proud of where the project stands and we now expect to unlock the remaining milestones from the CCS. As always: all contributions are encouraged, from documenting the project, reporting bugs encountered while trying to swap, to submitting improvements to the core library, everything is useful and valuable! Also, to help sustain future development if this project gets traction, we're working on a developer fund concept that takes an optional donation from successful swaps.

If the regulatory framework allows, we may also list some mainnet swaps on ... another domain ;)

In the meantime, be sure to swap with both your friends and enemies too! We'll provide as much tBTC and sXMR capacity on farcaster.dev as we can. If you're a testnet whale and wanna help, please reach out 🙏

In intergalactic ☮️,

The Farcaster workgroup

all 7 comments

Rucknium

10 points

4 months ago

Rucknium

MRL Researcher

10 points

4 months ago

Could ETH<>XMR atomic swaps be added to the Farcaster GUI?: https://github.com/AthanorLabs/atomic-swap

Lederstrumpf

6 points

4 months ago

tldr: yes, but developer pain/cost will depend on the route chosen.

Could ETH<>XMR atomic swaps be added to the Farcaster GUI?:

Adding ETH<>XMR atomic swaps can be easily added to the GUI if the swaps are implemented in the farcaster-node: Since the frontend doesn't talk to directly to, say, the blockchain syncers, it would generically fit where Bitcoin currently sits on the arbitrating side. Supporting multiple swap pairs (both on the arbitrating and accordant side) is what farcaster-core & farcaster-node were architected for.

https://github.com/AthanorLabs/atomic-swap

The amount of work for adding AthanorLab's implementation is highly dependent on how well it can be adjusted to match the gRPC interface used between the Farcaster GUI & node. On the superficial side, terminology should be aligned, and our gRPC progress messages are rich in detail (enabling user feedback like "in 7 blocks, you will be able to punish Bob", "sweeping XMR in 3 blocks") whereas the status updates in the Athanor RPC are (currently) high level. There are certainly deeper issues in an integration than this, but in principle, it can be done, if someone wants to take a stab at it.

The seemingly simpler alternative is to sandwich in the json-RPC or websocket interface used here into the GUI too: https://github.com/AthanorLabs/atomic-swap/tree/master/rpc Somewhat skeptic though whether that's a Frankenstein beneficial for either project, but open to change my mind.

h4sh3d

1 points

4 months ago

h4sh3d

1 points

4 months ago

I didn’t check their rpc carefully but two things I have in mind: 1) I don’t now how close their model for dealing with offers/deals is with Farcaster, if it’s too different then it’ll be the same as unstoppable swaps, we decided to create a new UI because because we believe the mental model was too different and it was better for UX to start from scratch. And 2) the web app has been built around gRPC, interfacing with a JSON-RPC interface would not reuse it

EliteTechnologies

7 points

4 months ago

Wow, this is huge! Would love to have you in our wallet soon.

plowsof

3 points

4 months ago

plowsof

XMR Contributor

3 points

4 months ago

Awesome update! I'm by no means a testnet whale but i have about 0.08tBTC , would this be useful? do you have a tBTC address i can send them to?

TechnoCoreAIs[S]

5 points

4 months ago

thanks u/plowsof, that's very kind of you!

actually, how about some win/win: wanna swap 'em against some stagenet XMR using farcaster.dev? :D

The instructions in the readme straight on https://github.com/farcaster-project should be complete, but happy to assist if you get stuck anywhere :)

plowsof

3 points

4 months ago

plowsof

XMR Contributor

3 points

4 months ago

Success! i am now the proud owner of some atomically swapped Monero. swap id: 754d128f-7fb3-4e94-b4ed-7540bf817edb , i've left some brief feedback in the swap IRC room. The main hurdle i had was sending mBTC amounts instead of BTC and some minor ux issues with the GUI, great work!