Among other tasks, in the past 2 months we focused on building a Cosmos SDK module that serves as the backbone of a web and mobile application. The main goal of the module is to feed users with information from across the crypto world in a decentralized manner while giving BZE delegators the power to control it.
Here comes CoinTrunk
CoinTrunk is a product of two combined elements: CoinTrunk blockchain module and an end-user application. If you haven’t read the summary of how CoinTrunk will work in this Twitter Thread, you should. The doctor recommends a Like and a Retweet for the health of the project.
CoinTrunk blockchain module
The blockchain part of this application was developed as a Cosmos SDK module and introduces the ability to work with the following resources:
- Accepted Domain
They might not say too much at the moment, so let’s describe them.
In order to prevent bad actors from publishing articles from scammy websites, a list of trustful website domains is recorded on the blockchain. New entries can be added to the list or deactivated through governance proposals — giving BZE community the power to decide what website is worth to be accepted as a trustful source of information.
An example of accepted domain would be “medium.com”. This is the place to look for interesting articles and crypto projects updates and we see it as a must.
Do note that subdomains of an accepted domain are NOT automatically accepted. Even if “medium.com” is an accepted domain, “bze.medium.com” links will not be accepted. Each subdomain needs to be voted by the community.
A “Publisher” record contains the following fields:
- name: free string
- address: Bech32 address (bze….)
- active: true/false
- articlesCount: number of articles published
- createdAt: timestamp
- respect: the amount of respect paid by readers
Publishers are identified by their wallet address. An address can become a publisher ONLY through governance proposal. Once voted the publisher can submit unlimited number of articles by paying only the gas fee required by the blockchain.
If the content submitted by the publisher is considered bad for the network the community can submit a governance proposal and vote to deactivate him at any time.
Any BZE user can show gratitude to a publisher by paying some respect. Each uBZE paid is added to publisher’s respect and the coins are distributed between community pool fund and publisher. The distribution percent is also decided through governance proposal and can be set to 0 at any time, distributing the entire amount to the publisher.
The “Article” contains the following fields:
- id: zero filled increment id
- title: free string describing the article
- url: pointing to the original article
- picture: a url to a picture for the article (optional)
- publisher: publisher address
- paid: true if article was paid submitted by a non-publisher address
- createdAt: timestamp
When an article is published the blockchain verifies if the creator of the transaction is a publisher or not. If it’s not a publisher it will mark the article as paid: true and send the amount of BZE required to publish a paid article from creator’s account to community pool fund. Paid articles are limited on each month to prevent spamming from unknown addresses.
The amount of BZE needed to pay for an article and the monthly limit can be changed through governance proposal. The community can adjust these parameters whenever needed.
Articles published by known actors (a.k.a. Publishers) are free of cost or limit, the only tax paid being the fee required by the blockchain to process the transaction.
Feeding blockchain data
All the resources saved on the blockchain can be read by any application through RPC/REST endpoints:
- Accepted domains list
- Publishers list
- Publisher details by address
- Paid articles counters list — returning the counters of submitted paid articles for each month
- List articles ordered by first/last
Now that we have an overview how the blockchain module will work let’s have a look at what applications will use it.
CoinTrunk Web App
This will be a simple web application built on top of CoinTrunk blockchain module. It will serve decentralized data and provide hints on how to use the entire product. It will be integrated with Keplr and in the future with CoinTrunk Mobile App and maybe other Cosmos wallets.
CoinTrunk Mobile App
As the name states this will be a “trunk” for you to keep your Cosmos assets and keep up to date with articles published on the blockchain through a news feed. We aim to make it a “hub” to serve your Cosmos interests so this is just the beginning. Don’t worry, it will feature a non custodial wallet so you’re the only one in control of your assets.
- The blockchain module arrival on mainnet is planned for end of January, 2023.
- C̶o̶i̶n̶T̶r̶u̶n̶k̶ ̶W̶e̶b̶ ̶&̶ ̶M̶o̶b̶i̶l̶e̶ ̶a̶p̶p̶l̶i̶c̶a̶t̶i̶o̶n̶s̶ ̶a̶r̶e̶ ̶p̶l̶a̶n̶n̶e̶d̶ ̶t̶o̶ ̶b̶e̶ ̶d̶e̶l̶i̶v̶e̶r̶e̶d̶ ̶b̶y̶ ̶t̶h̶e̶ ̶e̶n̶d̶ ̶o̶f̶ ̶Q̶1̶,̶ ̶2̶0̶2̶3̶ ̶a̶n̶d̶ ̶w̶e̶ ̶w̶i̶l̶l̶ ̶i̶t̶e̶r̶a̶t̶e̶ ̶w̶i̶t̶h̶ ̶n̶e̶w̶ ̶f̶e̶a̶t̶u̶r̶e̶s̶ ̶p̶e̶r̶i̶o̶d̶i̶c̶a̶l̶l̶y̶.̶
- Visit the official website of CoinTrunk and the Web App
- As of February 2024 the Mobile App is pending to be accepted on the mobile app stores. See more details on twitter
Whatever plans we have for BZE they always include open source code and decentralization. Giving power to the people and removing any single point of failures is our main goal.