Giter Site home page Giter Site logo

baizhiheizi / quill Goto Github PK

View Code? Open in Web Editor NEW
72.0 6.0 15.0 23.03 MB

Build your value net on Web3 with Quill

Home Page: https://quill.im

License: Apache License 2.0

Ruby 45.16% JavaScript 8.54% HTML 44.27% Shell 0.19% CSS 0.34% TypeScript 1.20% Dockerfile 0.31%
web3 write read

quill's Introduction

banner

Quill

Check CI Uptime 100.00%

δΈ­ζ–‡

Quill is building a value net on the Web3 for both authors and readers.

Rules

We believe that the value of an article is composed of both the author and the reader, but the actual situation is that the reader's contribution, especially the early readers' contribution,is not well represented. Therefore, the biggest difference between Quill and other platforms is that Quill introduces an early reader rewards mechanism.

The specific rules are as follows,

  1. Users can publish articles on the platform and become authors.
  2. All articles are paid articles, priced by PressOne Token or Bitcoin.
  3. Users can pay for the articles, i.e. become a reader of a article.
  4. For every new income from an article, 40% will be allocated to each early reader on a pro-rata basis as Early Reader Bonus , 10% will be a handling fee for the platform, and the rest will be revenue for the author.
  5. Readers can also increase the amount they pay for an article by means of a reward in order to increase their share of the bonus.

For example:

User A published an article X pricing 100 Satoshi on the platform.

User B paid 100 Satoshi for article X and got the right to read the article.

Therefore, article X earned 100 Satoshi, because B is the first reader and there is no earlier reader, so there is no early reader bonus; 10 Satoshi(10%) is used as the platform's handling fee; The remaining 90 Satoshi are all taken as author revenue and transferred to the account of author A.

User C paid 100 Satoshi for article x after B. As a result, Article X earns another 100 Satoshi.

Among them, 40 Satoshi(40%) will be used as an early reader bonus. At this time, there is only one early reader, user B, so B monopolizes this 40% reward; The platform also receives 10 Satoshi(10%) as a handling fee; The remaining 5 Satoshi is the author's income.

After C, user D also paid 100 Satoshi for article X.

Similarly, 4 Satoshi(40%) will be rewarded as early readers bonus. At this time, there are two early readers, namely B and C, who paid 100 Satoshi for article X before, so both B and C will be rewarded with 40 * 100/(100+100) = 2 Satoshi respectively.

The platform also charges 10 Satoshi(10%) as a handling fee; The remaining 50 Satoshi is the author's income.

And so on.

It is worth reminding that besides the payment for articles, the income from other payment behaviors (such as reward) will also be included in the distribution ratio of early readers' bonus.

Experience

Open quill.im, connect your wallet via MetaMask, Coinbase or WalletConnect.

API

User can generate access token in dashboard settings.

Use access token in a HTTP Header named X-Access-Token.

API Endpoint is https://quill.im/api

GET | /articles

When access token or author_id provided, it returns user's articles, otherwise, it return all published articles.

Available params: author_id, offset, order, limit, query.

Example: https://quill.im/api/articles?limit=5&order=asc&offset=2021-01-18T07:41:36.624Z&query=BTC,Xin

GET | /articles/:uuid

Article content will not provied unless valid access token provided.

POST | /articles

Create a new article with valid access token.

Request body example:

{
  "title": "article title",
  "content": "some article content",
  "intro": "some article introduction",
  "price": 0.000001,
  "asset_id": "c6d0c728-2624-429b-8e0d-d9d19b6592fa",
  "tag_names": ["BTC", "Blockchain"]
}

quill's People

Contributors

an-lee avatar cndaniel avatar dependabot[bot] avatar liusining avatar lyricat avatar monsterwong avatar nkellykei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

quill's Issues

some UI bug

  • The readers' avatar list in article page
  • long url in article content

Open API

Other Mixin Bots can create articles in PRSDigg, and share the 10% revenue with PRSDigg.

Authenticate Mixin Bot

  • User can apply a Mixin Bot account in PRSDigg
  • Generate a access_token for Bot Account

Create article via API

Third-Party Mixin Bot with access_token can create articles via API, providing

  • Author (Mixin Messenger user or just a Mixin Network wallet address?)
  • Author's access_token can be authenticated by Mixin API
  • Article's Arguments (title, content, price etc.)

Revenue Distribution

  • Author revenue will transfer to author's wallet directly
  • For the 10% platform revenue, 5% will transferred to the Third-Party Mixin Bot, 5% will stay for PRSDigg

Sell Articles in collection

Some articles need a ton of work and the authors are not sure if there are enough readers for the work before they publish them.

Maybe author should presell their articles to find out the potential readers.

Author may just post an article introduction for presell. The potential readers who are interested in it can prepay for the undone article. If the prepayments reach a certain amount, author should decide to finish it. Or just cancel all prepayments and refund them.

Once author publish a preselled article for real selling. The revenue should distributed to 4 parts. Apart from author, reader and platform, the prepayers who help to make the article published should be honored, called sponsor.

Once the article paid, the revenue should distributed to

  • author, x%
  • sponsors, y%
  • early readers, 40% at least
  • platform, 10%

Author may set the x and y, and x + y = 50

Notification system

User can subscribe for notification

  • new article
  • new articles from followed author
  • new comments from subscribed article

Improve the comments zone

  • hash tag in notification link to comments zone
  • can like comment
  • order by likes_count / created_at
  • handle too many embedded quote

Improvement of the revenue management display

A better way to display the revenue (both author revenue and reader revenue) is that the revenue is summarized according to the articles, instead of being sorted in chronological order.

Sign article in PRESSOne

  • Create PRS account for each user and authorize them
  • new article on chain
  • edit article on chain
  • delete article on chain

Every article should have a unique wallet

Instead of using the PRSDigg robot to handle all payments and transfers, create a unique wallet(Mixin Network User) for each article to receive payment and transfer the revenue to readers.

Open API

  • user can generate API token
  • APIs
    • GET|articles
    • GET|articles/:uuid
    • POST|articles

Improve the paying procedure

  • use unique trace for each pair of article and user
  • after click the Pay button, keep polling the payment state

User can follow each other

User can follow each other to receive his/her activities notification

  • publish a new article
  • buy a new article
  • reward a article
  • comment a article

Use swap as pay service

Use swap as pay service to support multi token payment.

  1. User pay BTC for article
  2. PRSDigg swap BTC for PRS
  3. swapped PRS as article payment
  4. refund the change PRS to user

4swap API

Article rating

Every paid reader can rate the article. 1 star for the worse, 5 star for the best.

Search function

search by

  • User
  • Article
  • Tag
  • Keywords in article introduction

Migrate PRS orders to BTC orders

The PRS project has decided to open a settlement process for PRS tokens(see the announcement).

After that the articles paid with PRS token should be changed to paid with Bitcoin. And the revenue calculation should be based on the Bitcoin value(at the time when the order paid) of the old orders.

Create reader group for author or even for article

Comment list in an article is good. But somehow too formal. Maybe people are more willing to talk about an article in a group. Within Mixin Messenger, it's easy to do that.

PRSDigg may create a group for an author, readers may join to talk about authors' article. Or maybe create a group for a hot article for readers to talk about it.

User page

User can view each others' user page:

  • published articles
  • bought articles
  • author revenue
  • reader revenue
  • comments

Every user should use a unique broker

At present, every article has a unique broker. When an article being sold many times in a short time, too many transfers invoked and failed easily.

Prepare a unique broker for every user to avoid too many transfers from a same wallet in a short time.

Bootstrap project

  • rails new
  • dependencies
    • typescript
    • react
    • antd
    • grapqhl-ruby
    • apollo
  • CI / CD
    • linter
    • github actions
    • first deploy

Order of rewards for early users

E.g. After user A purchased the article X, user B also completed the purchase payment.
After that, the user A rewarded the article, and the user B was regarded as one of the early users before the behavior of reward, so he participated in the reward sharing.

Is this understanding correct?

User can edit article

User can edit article title/content/intro , but not price.

User can hide article so that no new reader can buy, but previous readers not affected.

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.