Coder Social home page Coder Social logo

0xsemicolon / composecastxyz Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 1.43 MB

Gateway for composing casts out across farcaster vendors.

Home Page: https://composecast.xyz

License: MIT License

JavaScript 0.85% HTML 0.98% Vue 53.30% TypeScript 43.94% SCSS 0.92%
farcaster farcaster-frames

composecastxyz's Introduction

ComposeCast.xyz

There are a series of verbs in the farcaster ecosystem, such as viewing a cast, viewing a profile, retweeting and composing a cast which require intimate knowledge of a user's preferences which are currently very hard to do at the protocol level.

Compose cast aims to give farcasters control over one of these verbs: 'compose a cast'.

It is not reasonable to expect a frame developer, or a read-only client developer to know the users preferences. Additionally these preferences might not be publicly inferrable. You might for instance be able to infer that a user prefers to compose casts through warpcast because their messages are usually signed by warpcast. However, in the future it's more likely most apps will sign through some third party like Neynar which obfuscates the origin. Additionally if we find ourselves in a world where users self sign messages more frequently, (i.e. via self hosted applications) then we won't be able to infer this publicly.

Therefore we need a repository for that preference information - ideally in a way that's privacy preserving. My solution to this is composecast.xyz. The preferences of a user are stored purely on device (in IndexedDB). At time of writing there are a few preferences supported:

  1. What are my favorite clients (Starred)
  2. Do I want to automatically fulfill requests through a client.

There's a lot more preference data to be captured though. In the future there will be 1000s of domain specific clients. If I'm being prompted to cast about movies, I might not want to automatically fulfill to warpcast but rather to rottentomatoes (or whatever).

For more information on the mission check out https://paragraph.xyz/@semicolon/composecastxyz

๐Ÿ’ฟ Install

Set up your project using your preferred package manager. Use the corresponding command to install the dependencies:

Package Manager Command
yarn yarn install
npm npm install
pnpm pnpm install
bun bun install

After completing the installation, your environment is ready for Vuetify development.

๐Ÿ’ก Usage

This section covers how to start the development server and build your project for production.

Starting the Development Server

To start the development server with hot-reload, run the following command. The server will be accessible at http://localhost:3000:

yarn dev

(Repeat for npm, pnpm, and bun with respective commands.)

Add NODE_OPTIONS='--no-warnings' to suppress the JSON import warnings that happen as part of the Vuetify import mapping. If you are on Node v21.3.0 or higher, you can change this to NODE_OPTIONS='--disable-warning=5401'. If you don't mind the warning, you can remove this from your package.json dev script.

Building for Production

To build your project for production, use:

yarn build

(Repeat for npm, pnpm, and bun with respective commands.)

Once the build process is completed, your application will be ready for deployment in a production environment.

๐Ÿ’ช Support ComposeCast.xyz Development

๐Ÿ‘‹ Hey I'm https://warpcast.com/semicolon.eth - biggest help is if you are building your own client, or know someone who is, let them know about this project and if they can implement a source then awesome! โฌ†๏ธ Client diversity โฌ†๏ธ

๐Ÿ’ช Support Vuetify Development

This project is built with Vuetify, a UI Library with a comprehensive collection of Vue components. Vuetify is an MIT licensed Open Source project that has been made possible due to the generous contributions by our sponsors and backers. If you are interested in supporting this project, please consider:

๐Ÿ“‘ License

MIT

Copyright (c) 2016-present Vuetify, LLC

composecastxyz's People

Contributors

0xsemicolon avatar

Stargazers

yoots avatar  avatar Nick Tikhonov avatar David Furlong avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.