ton-blockchain / TIPs

Improvement Proposal repository
71 stars 14 forks source link

Frontend Contest: TON status page, Stage 1 #43

Open EmelyanenkoK opened 2 years ago

EmelyanenkoK commented 2 years ago

πŸ† Frontend contest: TON status page

Prize fund: $30’000 in Toncoins (currently 10’000 TON).

Deadline: 18:00 on Nov, 17 (UTC).

Task: Create a web app and corresponding open-source backend, which display summarized data on the state and availability of TON Blockchain.

In particular, the page should display:

API and integration with notification services (Telegram channel/bot) will increase your chances to win.

Evaluation priorities:

Who can take part: Anyone.

How do I submit:

Comment on this issue on GitHub by attaching an archive or link to the open-source code with a solution, a description of the functionality, the build process, your TON address to receive an award. Submission must be under the MIT license.

To avoid plagiarism, you can attach a link to a private repo to the submission and hash of the last commit, which you will make public after the deadline.

dharnarh commented 2 years ago

Question: Are we to build the open-source backend or consume an already available one?

EmelyanenkoK commented 2 years ago

Using of publicly available APIs are not forbidden, however since it is expected that status page will display status of those APIs too, perfect solution still requires it's own backend.

danieldanielecki commented 2 years ago

Why is the deadline so short? :( can't do it due to traveling :((( Ton could have a bunch of high-quality fronted submissions. Done once, but good, and forever. The last contest with the IDE tool, I believe, had only two submissions... Please learn on this; I'd love to try it out!

RamaBerthin commented 2 years ago

Deadline is too short.

StanKryvenko commented 2 years ago

Should it be written on specific language? Could it be .net?

undrfined commented 2 years ago

https://github.com/undrfined/tonstatus-backend (2fb2b45) https://github.com/undrfined/tonstatus (eae0c89)

tonstatus-backend repo has frontend as a git submodule, so there's no need to pull the second repo

git clone https://github.com/undrfined/tonstatus-backend --recurse-submodules
cd tonstatus-backend
docker compose up
Screenshots ![telegram-cloud-document-2-5235849477838870176](https://user-images.githubusercontent.com/15432454/142252203-d65da03d-7886-4e4d-ada7-ed776a1a96e5.jpg) ![telegram-cloud-document-2-5235849477838870177](https://user-images.githubusercontent.com/15432454/142252993-fa0b1dff-9a15-48da-b25f-1e7e8e955ff4.jpg) ![image](https://user-images.githubusercontent.com/15432454/142252622-b8430ef7-b9ce-479e-ba53-4547590705aa.png) ![telegram-cloud-document-2-5235849477838870178](https://user-images.githubusercontent.com/15432454/142252219-30bedf22-3c81-4b78-b047-8bddf11871f3.jpg)

Implemented:

EQCEU2c1HzLz5kZUfRbAoK9h4NP8sVyOaP_MRNte2bG4JYJ3

rgabdullin commented 2 years ago

TON Status Real-time docker-composed monitoring service with backend, frontend and full TON node. Efficiently collects statistics directly from TON system and stores it in database. Check demo at http://ton-status.com.

git clone https://github.com/rgabdullin/ton-monitor.git
docker-compose build
docker-compose up -d

GitHub: https://github.com/rgabdullin/ton-monitor Last commit hash: b26768c2b2c4397e8d50a202375210dc1b315db4 Wallet: EQBSTdICWj0NZuPTjlBgHuF6zQN7nPspsQ5DhNK9d2NvDOwq

OmaiwoHochetDeneg commented 2 years ago

Introducing TonMonitor which was integrated into tonAdmin and upgraded with backend server.

Backend: https://github.com/Web-Rangers/ton_admin_server Installation:

  1. git clone https://github.com/Web-Rangers/ton_admin_server.git
  2. npm install
  3. npm start

Frontend: https://github.com/Web-Rangers/tonadmin Installation:

  1. git clone https://github.com/Web-Rangers/tonadmin.git
  2. npm install
  3. npm start

Page will be available at http://localhost:3000/statuspage

wallet: EQDzRLjYsmwWXJJYEnQMbfK5NZRzjimLwabZAbqoNp6C6K42 image http://89.163.135.167:3001/statuspage

maxistar commented 2 years ago

https://github.com/maxistar/tonometer Check Demo https://tonometer.xyz

danieldanielecki commented 2 years ago

https://github.com/maxistar/tonometer Check Demo https://tonometer.xyz

That's actually my favorite, just not sure if they'll like Material Design :)

tolya-yanot commented 2 years ago

Received 4 submissions.

Review

There is no first place in the results of this competition, because basically the works duplicate already existing functionality: https://tonmon.xyz/, https://ton.org/global-config-wallet.json (autoconfig), https://newton-blockchain.github.io/status.

However, we note that some works use an alternative implementation to collect metrics.

To get the main prize, it is not enough to simply collect existing metrics in one place and add ping of http pages.

Nevertheless, we see that the participants of the competition have dived deep enough into the TON and their work can be used to create a full-fledged TON status center.

We will contact some participants with a proposal for a continuation of the work.

@undrfined

Features:

Implementation:

Frontend: React

Backend: NodeJS + MongoDB

Data collection occurs by lite-client call.

Additional advantages:

Additional cons:

@rgabdullin

Features:

Implementation:

Frontend: React

Backend: Python + Celery + RabbitMQ + MongoDB

It installs its own full-node and full-node are used to collect data. To work with the node, the code from mytonctrl is used.

Additional advantages:

@OmaiwoHochetDeneg

Features:

After the deadline, the following was done:

Implementation:

Frontend: React

Backend: NodeJS + mytonctrl JSON RPC API

Data is received from the mytonctrl node by json rpc api.

Additional advantages:

Additional cons:

@maxistar

Features:

Implementation:

Frontend: React

Backend: tonmon.xys scripts + NodeJS + InfluxDB

Slightly modified tonmon.xyz scripts are used

Results

2nd place

πŸ₯ˆ @rgabdullin - 2000 TON πŸ₯ˆ @OmaiwoHochetDeneg - 2000 TON

3rd place

πŸ₯‰ @undrfined - 800 TON

Bonus prize

πŸŽ– @maxistar - 200 TON

Second places will also receive an offer to continue work.

tolya-yanot commented 2 years ago

https://github.com/maxistar/tonometer Check Demo https://tonometer.xyz

Please send TON address (https://ton.org/wallets) to receive bonus prize

maxistar commented 2 years ago

Thank you @tolya-yanot, it was really fun to participate in the contest, it is always great getting familiar with such a cool technology! I wish you all the best, thanks for contributing to the great product! My wallet address is: EQC0wM4wqHvpswRw3Xh06vjmAj15ftAK0hH8OLtS9prx57jY