{"id":21252496,"url":"https://github.com/keep-starknet-strange/joyboy","last_synced_at":"2025-07-11T01:32:51.712Z","repository":{"id":236915763,"uuid":"793414281","full_name":"keep-starknet-strange/joyboy","owner":"keep-starknet-strange","description":"Decentralized social built with Nostr and powered by Starknet account abstraction.","archived":false,"fork":false,"pushed_at":"2024-05-22T16:49:17.000Z","size":24386,"stargazers_count":33,"open_issues_count":17,"forks_count":16,"subscribers_count":18,"default_branch":"main","last_synced_at":"2024-05-22T16:59:36.886Z","etag":null,"topics":["account-abstraction","cairo","consumer-app","mobile-app","nostr","nostr-protocol","p2p-network","react-native","social-fi","social-network","starknet"],"latest_commit_sha":null,"homepage":"https://joyboy.community","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keep-starknet-strange.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-29T07:16:47.000Z","updated_at":"2024-05-28T09:46:49.013Z","dependencies_parsed_at":"2024-05-13T12:54:52.001Z","dependency_job_id":"6a29c548-36bc-47b2-bf0d-91210e16d561","html_url":"https://github.com/keep-starknet-strange/joyboy","commit_stats":null,"previous_names":["keep-starknet-strange/joyboy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-starknet-strange%2Fjoyboy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-starknet-strange%2Fjoyboy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-starknet-strange%2Fjoyboy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-starknet-strange%2Fjoyboy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keep-starknet-strange","download_url":"https://codeload.github.com/keep-starknet-strange/joyboy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225669684,"owners_count":17505386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["account-abstraction","cairo","consumer-app","mobile-app","nostr","nostr-protocol","p2p-network","react-native","social-fi","social-network","starknet"],"created_at":"2024-11-21T03:47:49.486Z","updated_at":"2024-11-21T03:47:50.094Z","avatar_url":"https://github.com/keep-starknet-strange.png","language":"TypeScript","funding_links":[],"categories":["Clients"],"sub_categories":["Other"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"resources/branding/logo/joyboy-04.png\" alt=\"joyboy_logo\" height=\"300\"/\u003e\n\n[![Starknet Test Workflow Status](https://github.com/keep-starknet-strange/joyboy/actions/workflows/starknet-contracts.yml/badge.svg)](https://github.com/keep-starknet-strange/joyboy/actions/workflows/starknet-contracts.yml)\n\n[![Exploration_Team](https://img.shields.io/badge/Exploration_Team-29296E.svg?\u0026style=for-the-badge\u0026logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJhIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxODEgMTgxIj48ZGVmcz48c3R5bGU+LmJ7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iYiIgZD0iTTE3Ni43Niw4OC4xOGwtMzYtMzcuNDNjLTEuMzMtMS40OC0zLjQxLTIuMDQtNS4zMS0xLjQybC0xMC42MiwyLjk4LTEyLjk1LDMuNjNoLjc4YzUuMTQtNC41Nyw5LjktOS41NSwxNC4yNS0xNC44OSwxLjY4LTEuNjgsMS44MS0yLjcyLDAtNC4yN0w5Mi40NSwuNzZxLTEuOTQtMS4wNC00LjAxLC4xM2MtMTIuMDQsMTIuNDMtMjMuODMsMjQuNzQtMzYsMzcuNjktMS4yLDEuNDUtMS41LDMuNDQtLjc4LDUuMThsNC4yNywxNi41OGMwLDIuNzIsMS40Miw1LjU3LDIuMDcsOC4yOS00LjczLTUuNjEtOS43NC0xMC45Ny0xNS4wMi0xNi4wNi0xLjY4LTEuODEtMi41OS0xLjgxLTQuNCwwTDQuMzksODguMDVjLTEuNjgsMi4zMy0xLjgxLDIuMzMsMCw0LjUzbDM1Ljg3LDM3LjNjMS4zNiwxLjUzLDMuNSwyLjEsNS40NCwxLjQybDExLjQtMy4xMSwxMi45NS0zLjYzdi45MWMtNS4yOSw0LjE3LTEwLjIyLDguNzYtMTQuNzYsMTMuNzNxLTMuNjMsMi45OC0uNzgsNS4zMWwzMy40MSwzNC44NGMyLjIsMi4yLDIuOTgsMi4yLDUuMTgsMGwzNS40OC0zNy4xN2MxLjU5LTEuMzgsMi4xNi0zLjYsMS40Mi01LjU3LTEuNjgtNi4wOS0zLjI0LTEyLjMtNC43OS0xOC4zOS0uNzQtMi4yNy0xLjIyLTQuNjItMS40Mi02Ljk5LDQuMyw1LjkzLDkuMDcsMTEuNTIsMTQuMjUsMTYuNzEsMS42OCwxLjY4LDIuNzIsMS42OCw0LjQsMGwzNC4zMi0zNS43NHExLjU1LTEuODEsMC00LjAxWm0tNzIuMjYsMTUuMTVjLTMuMTEtLjc4LTYuMDktMS41NS05LjE5LTIuNTktMS43OC0uMzQtMy42MSwuMy00Ljc5LDEuNjhsLTEyLjk1LDEzLjg2Yy0uNzYsLjg1LTEuNDUsMS43Ni0yLjA3LDIuNzJoLS42NWMxLjMtNS4zMSwyLjcyLTEwLjYyLDQuMDEtMTUuOGwxLjY4LTYuNzNjLjg0LTIuMTgsLjE1LTQuNjUtMS42OC02LjA5bC0xMi45NS0xNC4xMmMtLjY0LS40NS0xLjE0LTEuMDgtMS40Mi0xLjgxbDE5LjA0LDUuMTgsMi41OSwuNzhjMi4wNCwuNzYsNC4zMywuMTQsNS43LTEuNTVsMTIuOTUtMTQuMzhzLjc4LTEuMDQsMS42OC0xLjE3Yy0xLjgxLDYuNi0yLjk4LDE0LjEyLTUuNDQsMjAuNDYtMS4wOCwyLjk2LS4wOCw2LjI4LDIuNDYsOC4xNiw0LjI3LDQuMTQsOC4yOSw4LjU1LDEyLjk1LDEyLjk1LDAsMCwxLjMsLjkxLDEuNDIsMi4wN2wtMTMuMzQtMy42M1oiLz48L3N2Zz4=)](https://github.com/keep-starknet-strange)\n\n[![Built with React Native](https://img.shields.io/badge/Built%20with-React%20Native-%2361DAFB?style=for-the-badge\u0026logo=react)](https://reactnative.dev/)\n\n\u003c/div\u003e\n\n[Website](https://www.joyboy.community/) | [Telegram](https://t.me/JoyboyStarknet) | [Twitter](https://x.com/JoyboyStarknet)\n\n## Overview\n\nDecentralized social built with Nostr and powered by Starknet account abstraction.\n\n## Origin story\n\nThe 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 is the friends we made along the way? A decentralized social network should be a treasure trove of memories and connections.\n\nAlso, Joyboy refers to a figure in the Caribbean mythology, a dancing god with a constant smile.\n\n\u003e Joyboy is considered as the personification of freedom and joy.\n\nYes! This is what social networks should be about. A place where you can be yourself, express your thoughts and feelings, and connect with others.\n\nFreedom requires censorship resistance, and Nostr provides exactly that.\n\n## Contribute\n\nRegister to [Only Dust](https://onlydust.com/) to get rewarded for your contributions.\n\nTech stack:\n\n- Starknet smart contracts in Cairo - [Learn Cairo now](https://book.cairo-lang.org/)\n- React Native for the mobile app - [Learn React Native now](https://reactnative.dev/docs/tutorial)\n- Typescript for the Nostr relayer - [Learn Typescript now](https://www.typescriptlang.org/docs/handbook/2/basic-types.html)\n\n## Roadmap\n\n- [x] Cairo implementation of Nostr signature verification\n- [x] Starknet account contract implementation, controlled by Nostr keypair\n- [ ] Joyboy landing page \n- [x] SocialPay feature to send and receive tips through Nostr signed messages\n- [x] Implement a full Nostr client application with Starknet integration\n- [x] Run Nostr relay server\n- [ ] Crossover with [Vault](https://github.com/keep-starknet-strange/vault) to bring Social features to the Vault application\n\n## Architecture\n\n### Tips\nThere are two alternatives: WalletConnect, one which expects Nostr users to set up oridinary Starknet wallet like Argent or Braavos, and so called SocialPay which uses custom Account Abstraction contract based on bip340 signature scheme (Nostr native).\n\n#### Wallet Connect\n##### Tip to a recipient that never accepted the tip and don't have an account on SN\n```mermaid\nsequenceDiagram\n    actor Alice\n    actor Bob\n    participant backend as Backend\n    participant transfer as Deposit Contract\n    participant erc20 as ERC20\n    \n    Note over Alice,erc20: Alice tip is escrowed by the Deposit Contract\n    activate Alice\n    Alice-\u003e\u003eerc20: approve(Deposit Contract, x)\n    Alice-\u003e\u003etransfer: transfer(Bob Nostr Address, x)\n    transfer-\u003e\u003eerc20: transferFrom(Alice, Deposit Contract, x)\n    transfer-\u003e\u003eAlice: deposit_id\n    deactivate Alice\n\n\n    Note over Alice,erc20: Bob claims the tip with his Nostr identity\n    activate Bob\n    Bob-\u003e\u003ebackend: claim(deposit_id)\n    Note right of Bob: deposit_id is signed\u003cbr/\u003e with Nostr key\n    backend-\u003e\u003etransfer: claim(deposit_id)\n    transfer-\u003e\u003eerc20: transferFrom(Transfer Contract, Bob, x)\n    deactivate Bob \n```\n\n##### Tip to a recipient that earlier accepted the tip\n```mermaid\nsequenceDiagram\n    actor Alice\n    participant transfer as Deposit Contract\n    participant erc20 as ERC20\n    \n    activate Alice\n    Alice-\u003e\u003eerc20: approve(Deposit Contract, x)\n    Alice-\u003e\u003etransfer: transfer(Bob Nostr Address, x)\n    Note left of transfer: Deposit Contract knows\u003cbr/\u003e Bob's SN address\n    transfer-\u003e\u003eerc20: transferFrom(Alice, Bob, x)\n    deactivate Alice\n```\n\n#### SocialPay\n\n##### Alice sends tokens to Bob\n\n```mermaid\nsequenceDiagram\n    actor Alice\n    actor Bob\n    participant SocialPay gateway\n    participant Starknet Node\n    participant Alice Account\n    participant STRK Token\n\n    Alice-\u003e\u003eSocialPay gateway: @joyboy send 10 STRK to @bob\n    activate SocialPay gateway\n    SocialPay gateway-\u003e\u003eStarknet Node: SocialPay transaction\n    Starknet Node-\u003e\u003eAlice Account: SocialPay handler\n    Alice Account-\u003e\u003eSTRK Token: transfer\n    Starknet Node-\u003e\u003eSocialPay gateway: SocialPay transaction complete\n    SocialPay gateway-\u003e\u003eBob: @bob you just received 10 STRK from @alice\n    SocialPay gateway-\u003e\u003eAlice: @alice transfer of 10 STRK to @bob is complete\n    deactivate SocialPay gateway\n```\n\n## Modules\n\n\u003cdetails\u003e\n  \u003csummary\u003eOnchain\u003c/summary\u003e\n\nThe onchain components of the project are implemented as a suite of Starknet smart contracts.\n\n### Build\n\nTo build the project, run:\n\n```bash\nscarb build\n```\n\n### Test\n\nTo test the project, run:\n\n```bash\nsnforge test\n```\n\n\u003c/details\u003e\n\n## Mobile\n\nThe Joyboy Mobile app is built with React-native \u0026 Expo.\n[Current version](https://app.joyboy.community)\n\n[Mobile repo](https://github.com/keep-starknet-strange/joyboy/blob/main/JoyboyCommunity/README.md)\n\nPick an issue with the labels \"mobile\" to start work on React-native and contribute!\n\n### Test\n\nTo test the mobile app, run:\n\n```bash\ncd JoyboyCommunity\nyarn install\nyarn start\n```\nSelect Expo web, Android or IOS. You can scan it with Expo GO on your phone.\n\n\n## Resources\n\n- [Starknet](https://starknet.io/)\n- [Nostr](https://www.nostr.com/)\n- [Nostr Implementation Possibilities](https://github.com/nostr-protocol/nips)\n- [JoinStr: Decentralized CoinJoin Implementation Using Nostr](https://www.nobsbitcoin.com/joinstr-decentralized-coinjoin-implementation-using-nostr/)\n- [Smart Vaults - Bitcoin multi-custody signature orchestration - website](https://www.smartvaults.io/)\n- [Smart Vaults - Bitcoin multi-custody signature orchestration - repo](https://github.com/smartvaults/smartvaults)\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/AbdelStark\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/45264458?v=4?s=100\" width=\"100px;\" alt=\"Abdel @ StarkWare \"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAbdel @ StarkWare \u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=AbdelStark\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/maciejka\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/190855?v=4?s=100\" width=\"100px;\" alt=\"Maciej Kamiński @ StarkWare\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaciej Kamiński @ StarkWare\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=maciejka\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/MSghais\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/59928086?v=4?s=100\" width=\"100px;\" alt=\"MSG\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMSG\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=MSghais\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/kateberryd\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/35270183?v=4?s=100\" width=\"100px;\" alt=\"Catherine Jonathan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCatherine Jonathan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=kateberryd\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ayushtom\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/41674634?v=4?s=100\" width=\"100px;\" alt=\"Ayush Tomar\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAyush Tomar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=ayushtom\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://mubarak23.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7858376?v=4?s=100\" width=\"100px;\" alt=\"Mubarak Muhammad Aminu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMubarak Muhammad Aminu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=mubarak23\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://ugureren.net/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/86152092?v=4?s=100\" width=\"100px;\" alt=\"Uğur Eren\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eUğur Eren\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=ugur-eren\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Oshioke-Salaki\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/105825121?v=4?s=100\" width=\"100px;\" alt=\"Oshioke Salaki\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eOshioke Salaki\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=Oshioke-Salaki\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/bhavyagosai\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/64588227?v=4?s=100\" width=\"100px;\" alt=\"Bhavya Gosai\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBhavya Gosai\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=bhavyagosai\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/BlackStarkGoku\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/165695008?v=4?s=100\" width=\"100px;\" alt=\"BlackStarkGoku\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBlackStarkGoku\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=BlackStarkGoku\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Israelrex9\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/46507005?v=4?s=100\" width=\"100px;\" alt=\"IsraelRex\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIsraelRex\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-Israelrex9\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/EjembiEmmanuel\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/83036156?v=4?s=100\" width=\"100px;\" alt=\"Emmaunuel Ejembi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEmmaunuel Ejembi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=EjembiEmmanuel\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Ayoazeez26\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/44169294?v=4?s=100\" width=\"100px;\" alt=\"Abdulhakeem Abdulazeez Ayodeji\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAbdulhakeem Abdulazeez Ayodeji\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=Ayoazeez26\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/josephchimebuka\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/87217051?v=4?s=100\" width=\"100px;\" alt=\"Joseph Chimebuka\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJoseph Chimebuka\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=josephchimebuka\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/omahs\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/73983677?v=4?s=100\" width=\"100px;\" alt=\"omahs\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eomahs\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=omahs\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Calebux\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/119738245?v=4?s=100\" width=\"100px;\" alt=\"Caleb \"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCaleb \u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=Calebux\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://developer.mozilla.org/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/89651828?v=4?s=100\" width=\"100px;\" alt=\"Ben Ickah\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBen Ickah\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=benbaruka\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://soetandev.netlify.app/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/17912134?v=4?s=100\" width=\"100px;\" alt=\"Emmanuel Soetan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEmmanuel Soetan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=Shoetan\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/princeibs\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/64266194?v=4?s=100\" width=\"100px;\" alt=\"princeibs\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eprinceibs\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=princeibs\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/goofylfg\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/165781272?v=4?s=100\" width=\"100px;\" alt=\"goofylfg\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003egoofylfg\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=goofylfg\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lfgtwo\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/171595475?v=4?s=100\" width=\"100px;\" alt=\"lfg2\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003elfg2\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=lfgtwo\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/devcollinss\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/90073781?v=4?s=100\" width=\"100px;\" alt=\"Collins Ikechukwu (devcollins)\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCollins Ikechukwu (devcollins)\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=devcollinss\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/petersssong\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/171840752?v=4?s=100\" width=\"100px;\" alt=\"petersssong\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003epetersssong\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/keep-starknet-strange/joyboy/commits?author=petersssong\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeep-starknet-strange%2Fjoyboy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeep-starknet-strange%2Fjoyboy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeep-starknet-strange%2Fjoyboy/lists"}