Skip to content

keep-starknet-strange/joyboy

Repository files navigation

joyboy_logo

Starknet Test Workflow Status

Exploration_Team

Built with React Native

Website | Telegram | Twitter

Overview

Decentralized social built with Nostr and powered by Starknet account abstraction.

Origin story

The name "Joyboy" is inspired by the character from the manga series "One Piece". Joyboy is a mysterious figure from the Void Century who left behind a treasure called the "One Piece". What if the treasure are the friends we made along the way? A decentralized social network should be a treasure trove of memories and connections.

Also Joyboy refers to a figure in the Caribbean mythology, a dancing god with a constant smile.

Joyboy is considered as the personification of freedom and joy.

Yes! This is what social networks should be about. A place where you can be yourself, express your thoughts and feelings, and connect with others.

Freedom requires censorship resistance, and Nostr provides exactly that.

Contribute

Register to Only Dust to get rewarded for your contributions.

Tech stack:

Roadmap

  • Cairo implementation of Nostr signature verification
  • Starknet account contract implementation, controlled by Nostr keypair
  • Joyboy landing page
  • SocialPay feature to send and receive tips through Nostr signed messages
  • Implement a full Nostr client application with Starknet integration
  • Run Nostr relay server
  • Crossover with Vault to bring Social features to the Vault application

Architecture

SocialPay

Alice sends tokens to Bob

sequenceDiagram
    actor Alice
    actor Bob
    participant SocialPay relay
    participant Starknet Node
    participant Alice Account
    participant STRK Token

    Alice->>SocialPay relay: @joyboy send 10 STRK to @bob
    activate SocialPay relay
    SocialPay relay->>Starknet Node: SocialPay transaction
    Starknet Node->>Alice Account: SocialPay handler
    Alice Account->>STRK Token: transfer
    Starknet Node->>SocialPay relay: SocialPay transaction complete
    SocialPay relay->>Bob: @bob you just recived 10 STRK from @alice
    SocialPay relay->>Alice: @alice transfer of 10 STRK to @bob is complete
    deactivate SocialPay relay
Loading

Modules

Webapp

The webapp is a simple frontend to sign and verify messages using a browser extension like Flamingo or nos2x. It is built using React and Tailwind CSS.

Development

To start the development server, run:

npm start

Build

To build the project, run:

npm run build
Onchain

The onchain components of the project are implemented as a suite of Starknet smart contracts.

Build

To build the project, run:

scarb build

Test

To test the project, run:

snforge test

Resources

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Abdel @ StarkWare
Abdel @ StarkWare

💻
Maciej Kamiński @ StarkWare
Maciej Kamiński @ StarkWare

💻
MSG
MSG

💻
Catherine Jonathan
Catherine Jonathan

💻
Ayush Tomar
Ayush Tomar

💻
Mubarak Muhammad Aminu
Mubarak Muhammad Aminu

💻

This project follows the all-contributors specification. Contributions of any kind welcome!