TON OS Startup Edition installers contest for different platforms

Short description

Provide non-docker TON OS Startup Edition (TON OS SE) installers for Mac, Win and Linux.

Contest dates

March 9, 2021 — March 26, 2021, 23:59 UTC

Voting cycle:

9 days

Motivation

TON OS Startup Edition - local blockchain for the Free TON smart contract/DApp development and testing - is now shipped as a docker image which becomes a stopper for many users who do not understand what Docker is and don’t want to learn this tool to get onboard. Additionally, docker does not work on every platform, which was also a stopper for Windows Home Edition some time ago and probably is a stopper for some platforms now.

Task

The task of this contest is to provide TON OS SE with a platform-suitable installer for Win, MacOS or Linux. One platform - one submission. If a developer supports more than 1 platform, these are to be separate submissions. Winners are chosen for each platform separately.

Solution should use this TON OS SE release 0.24.13, so that active development will not interfere and interrupt the contest.

Winners will have to publish their work to a repository in Free TON Community github account where they will support it for the next 6 months.

Requirements

  • Installation MUST be easy and fast - solution should include or download precompiled binaries.
  • Solution MUST provide command line interface for TON OS SE Management API (alternative to current docker API usage):
    • start network
    • stop network
    • reset (restart the local blockchain from scratch)
    • configure port where it runs
    • expose arangoDB web interface to some port
    • and other possible/required or desired configuration options

so that it is possible to add a dashboard for its management later and integrate it with other clients that will allow its management.

Submission format

Submission must be published to a public github repository to the contest branch which MUST be fixed (no changes should be committed there) after the contest dates are over.

README must have the following documentation:

  • How to create installer via scripts for the specific platform
  • How to install TON OS SE with installer for the specific platform
  • Management API Reference with CLI usage samples
  • If the solution provides a JS package, there should also be JS API Reference
  • Documentation and tests with an instruction how to run them.

PDF should be attached to the submission with the link to the repository’s contest branch along with the telegram id of the participant so that jury members can access the participant and ask questions.

Reject criteria

Submission is rejected if any of these criterias are present.

  • Documentation described in submission format is not provided in full for any of the supported platforms (need to fully support at least 1 platform)
  • Build scripts do not work
  • Installation scripts do not work
  • Not all the Management API Functionality implemented and works via CLI
  • Test suites listed in Requirements Section do not pass for any supported platform

Evaluation criteria

Considering the following criteria set, the submission score increases:

  • Easiness of installation
  • Time of installation
  • JS package definitely will give you additional points
  • Readable source code
  • Detailed documentation

Jury

  • The juror must have a solid understanding of the described technology to provide a score and feedback. If not, the juror should choose to “Abstain”.

Voting:

  • The juror must have a solid understanding of the described technology to provide a score and feedback. If not, the juror should choose to “Abstain”.
  • Jurors or whose team(s) intend to participate in this contest by providing submissions lose their right to vote in this contest.
  • Each juror will vote by rating each submission on a scale of 1 to 10 or can choose to reject it if it does not meet requirements or vote “Abstain” if they feel unqualified to judge.
  • Jurors must provide feedback on submissions or lose their reward.
  • The Jury will reject duplicate, sub-par, incomplete, or inappropriate submissions.
  • The number of days for jury voting is hereby set at 21 day.

Contest Rewards

Linux rewards

  1. :gem: 30’000
  2. :gem: 20’000
  3. :gem: 10’000

MacOS rewards

  1. :gem: 30’000
  2. :gem: 20’000
  3. :gem: 10’000

Windows rewards

  1. :gem: 30’000
  2. :gem: 20’000
  3. :gem: 10’000

BONUS

DevOps SG offers a special reward of 20 000 :gem: for the most elegant installation which works on Windows, Mac OS and Linux using a similar approach and not using docker. It should be a separate submission which covers all operating systems.

Reward Distribution

  • Winners receive 50% of their rewards when contest results are evaluated.
  • Another 50% will be vested in equal parts over a 6-month period with monthly payouts.
  • To receive all 6 distributions, the solution should be supported for 6 months

Jury Rewards:

An amount equal to 10% of the total sum of all total tokens awarded to contest winners will be distributed among jurors who vote and provide feedback. This percentage will be awarded on the following basis:

  • The percentage of tokens awarded to the jury will be distributed based on the number of votes each juror casts. For example, if one juror votes 50 times and another juror votes 5 times, the juror who votes 50 times will get 10 times more tokens than the juror who votes 5 times.
  • Feedback is mandatory to collect any rewards.
  • In this particular contest the contestants have a vesting period for their reward distributions. The jurors do not. Jurors will receive their rewards upon completion of the contest in one lump sum, i.e., no vesting period, and as a part of the cumulative 100% reward figure regardless of the long term outcome.

Org Rewards:

An amount equal to 2% of the total sum of all total tokens awarded to contest winners will be distributed among org members who helped to organize and promote the contest, and organize rewards distribution in proportion to the time spent.

Procedural requirements:

Accessibility. All submissions must be accessible for the jury to open and view, so please double-check your submission. If the submission is inaccessible or does not fit the criteria described, jurors may reject the submission.

Timing. Contestants must submit their work before the closing of the filing of applications. If not submitted on time, the submission will not count.

Contact. Each submission must have an identifiable contact that can be matched with your description. If you have not provided a forum description for discussion, then your application should contain links to your online persona, for example, a Telegram ID (preferred) or other direct contact information that can confirm that the submitted work is yours. In the absence of confirmation by the contestant of the authorship of the submitted work, the submission may be rejected.

Multiple submissions.

  • Each contestant has the right to provide several submissions if they are all different from one another. If they are too similar, or in any way appear to be partially the same work done twice, or if they appear to be one whole body of work divided into parts to create the illusion of several submissions, jurors have the right to reject such submissions.
  • If the contestant wants to make an additional submission to replace a previously published submission, the contestant must inform the jury about this fact and indicate which submission is the one to be judged. In this case, only the indicated work will count. If the contestant fails to indicate which submission to judge, only the first submission that is uploaded by timestamp will count. The Jury will reject all others.
9 Likes

Short description

Provide non-docker TON OS Startup Edition (TON OS SE) installers for Mac, Win and Linux.

Contest dates

March 11, 2021 — March 28, 2021, 23:59 UTC

Voting cycle:

9 days

Motivation

TON OS Startup Edition - local blockchain for the Free TON smart contract/DApp development and testing - is now shipped as a docker image which becomes a stopper for many users who do not understand what Docker is and don’t want to learn this tool to get onboard. Additionally, docker does not work on every platform, which was also a stopper for Windows Home Edition some time ago and probably is a stopper for some platforms now.

Task

The task of this contest is to provide TON OS SE with a platform-suitable installer for Win, MacOS or Linux. One platform - one submission. If a developer supports more than 1 platform, these are to be separate submissions. Winners are chosen for each platform separately.

Solution should use TON OS SE release 0.25.0, so that active development will not interfere and interrupt the contest.

Winners will have to publish their work to a repository in Free TON Community github account where they will support it for the next 6 months.

Requirements

  • Installation MUST be easy and fast - solution should include or download precompiled binaries.
  • Solution MUST provide command line interface for TON OS SE Management API (alternative to current docker API usage):
    • start network
    • stop network
    • reset (restart the local blockchain from scratch)
    • configure port where it runs
    • expose arangoDB web interface to some port
    • and other possible/required or desired configuration options

so that it is possible to add a dashboard for its management later and integrate it with other clients that will allow its management.

Submission format

Submission must be published to a public github repository to the contest branch which MUST be fixed (no changes should be committed there) after the contest dates are over.

README must have the following documentation:

  • How to create installer via scripts for the specific platform
  • How to install TON OS SE with installer for the specific platform
  • Management API Reference with CLI usage samples
  • If the solution provides a JS package, there should also be JS API Reference
  • Documentation and tests with an instruction how to run them.

PDF should be attached to the submission with the link to the repository’s contest branch along with the telegram id of the participant so that jury members can access the participant and ask questions.

Reject criteria

Submission is rejected if any of these criterias are present.

  • Documentation described in submission format is not provided in full for any of the supported platforms (need to fully support at least 1 platform)
  • Build scripts do not work
  • Installation scripts do not work
  • Not all the Management API Functionality implemented and works via CLI
  • Test suites listed in Requirements Section do not pass for any supported platform

Evaluation criteria

Considering the following criteria set, the submission score increases:

  • Easiness of installation
  • Time of installation
  • JS package definitely will give you additional points
  • Readable source code
  • Detailed documentation

Jury

  • The juror must have a solid understanding of the described technology to provide a score and feedback. If not, the juror should choose to “Abstain”.

Voting:

  • The juror must have a solid understanding of the described technology to provide a score and feedback. If not, the juror should choose to “Abstain”.
  • Jurors or whose team(s) intend to participate in this contest by providing submissions lose their right to vote in this contest.
  • Each juror will vote by rating each submission on a scale of 1 to 10 or can choose to reject it if it does not meet requirements or vote “Abstain” if they feel unqualified to judge.
  • Jurors must provide feedback on submissions or lose their reward.
  • The Jury will reject duplicate, sub-par, incomplete, or inappropriate submissions.
  • The number of days for jury voting is hereby set at 21 day.

Contest Rewards

Linux rewards

  1. :gem: 30’000
  2. :gem: 20’000
  3. :gem: 10’000

MacOS rewards

  1. :gem: 30’000
  2. :gem: 20’000
  3. :gem: 10’000

Windows rewards

  1. :gem: 30’000
  2. :gem: 20’000
  3. :gem: 10’000

BONUS

DevOps SG offers a special reward of 20 000 :gem: for the most elegant installation which works on Windows, Mac OS and Linux using a similar approach and not using docker. It should be a separate submission which covers all operating systems.

Reward Distribution

  • Winners receive 50% of their rewards when contest results are evaluated.
  • Another 50% will be vested in equal parts over a 6-month period with monthly payouts.
  • To receive all 6 distributions, the solution should be supported for 6 months

Jury Rewards:

An amount equal to 10% of the total sum of all total tokens awarded to contest winners will be distributed among jurors who vote and provide feedback. This percentage will be awarded on the following basis:

  • The percentage of tokens awarded to the jury will be distributed based on the number of votes each juror casts. For example, if one juror votes 50 times and another juror votes 5 times, the juror who votes 50 times will get 10 times more tokens than the juror who votes 5 times.
  • Feedback is mandatory to collect any rewards.
  • In this particular contest the contestants have a vesting period for their reward distributions. The jurors do not. Jurors will receive their rewards upon completion of the contest in one lump sum, i.e., no vesting period, and as a part of the cumulative 100% reward figure regardless of the long term outcome.

Org Rewards:

An amount equal to 2% of the total sum of all total tokens awarded to contest winners will be distributed among org members who helped to organize and promote the contest, and organize rewards distribution in proportion to the time spent.

Procedural requirements:

Accessibility. All submissions must be accessible for the jury to open and view, so please double-check your submission. If the submission is inaccessible or does not fit the criteria described, jurors may reject the submission.

Timing. Contestants must submit their work before the closing of the filing of applications. If not submitted on time, the submission will not count.

Contact. Each submission must have an identifiable contact that can be matched with your description. If you have not provided a forum description for discussion, then your application should contain links to your online persona, for example, a Telegram ID (preferred) or other direct contact information that can confirm that the submitted work is yours. In the absence of confirmation by the contestant of the authorship of the submitted work, the submission may be rejected.

Multiple submissions.

  • Each contestant has the right to provide several submissions if they are all different from one another. If they are too similar, or in any way appear to be partially the same work done twice, or if they appear to be one whole body of work divided into parts to create the illusion of several submissions, jurors have the right to reject such submissions.
  • If the contestant wants to make an additional submission to replace a previously published submission, the contestant must inform the jury about this fact and indicate which submission is the one to be judged. In this case, only the indicated work will count. If the contestant fails to indicate which submission to judge, only the first submission that is uploaded by timestamp will count. The Jury will reject all others.

Postponed the dates of the contest for 2 days and updated TON OS SE tag

Need to create one github repository for each platform (windows\Linux\Mac) or not.

Can i create one github repository for all platform. My github repository will include different script separated by folder.

I will send multiple submission that will link to this repository.

I believe yes. You don’t need to create separate repos. No problem at all

Hi community! We submitted our cross-platform installation tool for TONOS SE (Linux, Windows, OSX)

REPOSITORY: GitHub - INTONNATION/tonos-se-installers at contest

Contacts

Telegram

Public group - Telegram: Contact @intonnationpub

Github - INTONNATION · GitHub

1 Like

Hello. We’d like to announce the cross-platform solution to run and manage TON OS Startup Edition. Our cross-platform solution provides dynamically building binary application packs and NPM package to easy start TON OS Startup Edition without Docker.

GitHub: ton-actions/tonos-se

Features

  • :surfing_man: Easy to install, configure and run
  • 🤹 Cross-platform support Cross-Platform Compatibility
  • :weight_lifting_man: There is no need a Docker Engine, root permissions and WSL for Windows
  • :swimming_man: All components and files, configurations, and databases in a one place
  • :biking_man: Automatically updates
  • :person_in_lotus_position: Sentry integration [WIP]

Contacts

2 Likes

Hello, my cross-platform submission can be found at

Contact Telegram: @mizuchi

1 Like

Hello

Submission for actual linux distributions (tested by ubuntu and other, see readme file)

Easy to use

If you want to start to work, just run shell script. It’s a text interface with a menu. If you want to stop working, just close the menu.

Easy to change
It’s one shell script. All variables are at the top of them. All logic split by functions.
Use a menu for changing ports of apps, seed database or reset it to zerostate.

1 Like

How I can check the status of TONOS SE? Just run it under MacOS w/o any output. Don’t see any info in documentation.

1 Like

Hi, there is no concept of a common status.
Since there are 4 components-ton node, graphql, nginx, ton-q-server, what is the “status”? what exactly? That’s why I didn’t implement it right away.

You can find out the status of each of them separately
sudo systemctl status

sudo systemctl status tonos_se_node_01
sudo systemctl status ton_q_server
sudo systemctl status nginx
sudo systemctl status graphql

The exact names of graphql and ton_q_server are specified from the code.
This works for Ubuntu. For Mac and for Windows, WSL is a bit different.

1 Like

Ok, how I can check or connect to grapnql - on which port it listen? And where is all binaries and configs resides?

1 Like
  1. For status, please run this:

sudo mv /etc/nginx/sites-enabled/default /etc/nginx/default_website
sudo systemctl start ton_q_server
sudo systemctl restart nginx

this is not in the code now, I will fix it in the dev branch

  1. For graphql :

http://127.0.0.1/graphql

or

http://localhost/graphql

  1. binaries are downloaded from the github of this repository, from the release

P.s. for quicker answers contact by telegram @mizuchi

1 Like

Proposal to not consider vote of jury who did a mistake and violated a rule - Proposal to not consider vote - Google Docs

Distribution table: TON OS Startup Edition installers contest for different platforms Rewards - Google Sheets