Free TON

Free TON Dev Experience Governance Proposal

Free TON Dev Experience Governance

General description

This document suggests an implementation of on-chain governance for Free TON Dev Experience as a separate interface with all the functions that the main Free TON governance has, based on ​freeton.org/contests​ as an additional bookmark.

The mission of Free TON Dev Experience governance is to develop the Free TON services, tools, and software for developers with the goal of enhancing the Free TON ecosystem and making Free TON more attractive for software developers.

Governance proposal specification

It is proposed to create on-chain governance integration for Free TON Dev Experience within which the following will be available:

  1. Free TON Dev Experience Initial Members​ are to form the initial F​ree TON Dev Experience Jury​. Some of the Free TON Dev Experience Initial Members are to join the Free TON Dev Experience Org.

  2. The initial F​ree TON Dev Experience Jury is:

    • to run the F​ree TON Dev Experience Jury Contest to choose the ​Free TON Dev Experience Jury to be active until 15th February 2021.The description of the contest is given below.
  3. The F​ree TON Dev Experience Jury​ has the the following characteristics:

    • the max number of members​ is 15, the min number is 5;
    • the jurors are split into topic-based ​Free TON Dev Experience Jury groups (a juror can
      be a member of several groups);
    • the topic-based ​Free TON Dev Experience Jury groups have to consists of at least 3 members;
    • the topic-based ​Free TON Dev Experience Jury groups make decisions on the relevant thematic proposals, including their review, and judge the relevant thematic contests;
    • the decisions within the F​ree TON Dev Experience Jury groups are to be taken by 50% + 1 vote from a number of jurors within a group;
    • the decisions within the F​ree TON Dev Experience Jury are to be taken by 50% + 1 vote from a number of jurors.
  4. The F​ree TON Dev Experience Jury has to ensure:

    • smooth running of the Free TON Dev Experience governance;
    • running of Contests;
    • development of Contest Proposals (CP);
    • review of CPs;
    • assessment of submissions for Contests;
    • choosing the winners of the Contests;
    • distribution of funds to everybody involved in the F​ree TON Dev Experience governance.
  5. The Free TON Dev Experience Jury members can’t judge the submissions from themselves, organisations they belong to/companies they work for. It’s the responsibility of the Free TON Dev Experience Jury members to declare the affiliation and withdraw from assessment. The Free TON Dev Experience Jury members have to participate in the activities of the Free TON Dev Experience governance on a regular basis. The Free TON Dev Experience Jury makes decisions on dismissal of the jurors based on their inability to fulfil their responsibilities.

  6. Any Free TON Dev Experience Jury member can join the Free TON Dev Experience Org. The Free TON Dev Experience Org has to assume the responsibilities for:

    • development of CPs (including attracting any qualified third-party to draft the CPs);
    • administrative work such as running of Contests, including announcing Contests, inviting developers to apply for Contests, consulting developers, announcing results of Contests, reminding winners about submission deadlines, consulting jurors, ensuring the timely payouts to the winners, jurors, etc.
  7. The Contests that are to be run by F​ree TON Dev Experience governance have the following characteristics:

    • to be on the topics mentioned below;
    • could be multistaged with the limited access to the 2, 3, N stage for the winners from earlier stages;
    • to be launched by accepting CPs by Free TON Dev Experience Jury groups;
    • can be running in parallel;
    • to set the remuneration criteria for the participants, the winners, and the jurors on case basis.

Free TON Dev Experience Initial Members

The Free TON Dev Experience Initial Members are the following:

  1. Andrey Falaleev (​Telegram​, public key c1bd606a3eb63c41eca20eef547e7e5ffd91aa92f025542b44e3192af91cba5d)
  2. Konstantin Konstantinov (​Telegram, public key 0f07a7cb924c7420520d0d98afad87d9b5e1765920fda698c22da6d0cd3354b9)
  3. Alexandr Nazarov (Telegram public key f11b2cc3a9c7f4e67b0c92e18f54cd72ac19ff29f2abff8af4094d2db269573b)
  4. Boris Pimonenko (Telegram, public key a431eaa862d33d0a24f856552e303f38cf1c0fff379d9c137e1c91686e3e9c8e)
  5. Aleksandr Hramcov (Telegram, public key 3bdb99452a6ed9138af385d035e0967250d0e2da6f58b90245f285daf250915c )
  6. Ekaterina Pantaz (Telegram, public key c9ae3b1c6aca828864702999e7bf1bd6f760f62988e056a4ba3a6104cde5fc17)
  7. Boris Ivanovskiy (​Telegram, public key 1a99622e54b4e87d603dd87c9cc936b388b2a0e1979bb56d4039cfad0fbadc8c)
  8. Mitya Goroshevskiy (​Telegram, public key 6ff322ad669dfad2f396b98bdc8690cc49926f6a10cd7f10d07f031841cf09ef)
  9. Vladimir Maslyakov (​Telegram, public key deb93a951c20140785ad7a9e7fa85fa6da5332cda85fbff6ef7784c805e963d3)
  10. Anatoly Ustinov (​Telegram, public key 865a7eb0e94d2623135dc00f3c060efdc3211309e93b279ff7d4422c5f21195d)
  11. Ivan Kotelnikov (​Telegram, public key b37e94b3177921824eeebb978bc2916f80a2fb19982e1b673171b5fe41dc0c9c)
  12. Peter Fedorov (​Telegram, public key 9e808b1540babb85c428b9197b8df87860882d2db70607dfa134774a0513db30)
  13. Alexey Novikov (​Telegram, public key 6bf867e7773038f9491b5d397cb7da8a20e112b45db9523cd8dae9deb608fb5a)

Free TON Dev Experience Org

The Free TON Dev Experience Initial Members assigned to the Free TON Dev Experience Org are the following:

  1. Andrey Falaleev (​Telegram, public key c1bd606a3eb63c41eca20eef547e7e5ffd91aa92f025542b44e3192af91cba5d​)
  2. Konstantin Konstantinov (​Telegram, public key 0f07a7cb924c7420520d0d98afad87d9b5e1765920fda698c22da6d0cd3354b9)
  3. Alexandr Nazarov (Telegram, public key f11b2cc3a9c7f4e67b0c92e18f54cd72ac19ff29f2abff8af4094d2db269573b)
  4. Boris Pimonenko (Telegram, public key a431eaa862d33d0a24f856552e303f38cf1c0fff379d9c137e1c91686e3e9c8e)
  5. Ivan Kotelnikov (Telegram, public key b37e94b3177921824eeebb978bc2916f80a2fb19982e1b673171b5fe41dc0c9c)
  6. Alexey Novikov (Telegram, public key 6bf867e7773038f9491b5d397cb7da8a20e112b45db9523cd8dae9deb608fb5a)

Free TON Dev Experience Costs Estimate

This estimate is based on a forecast of the total Tons required to run up to 9 (nine) Free TON Dev Experience Contests until 15th February 2021 after the Free TON Dev Experience governance is launched.

Contests Funds Total Tons per 4 months
Contests Remuneration Fund:
• the amount for each contest to be decided case-based
10 000 000
Jury Remuneration Fund:
• up to 25% of funds allocated per contest;
• the amount to be decided case-based
Fund for Development of CPs:
• up to 10% of funds allocated per contest
• the amount to be decided case-based
Org Funds Tons per hour Possible hours per month Subtotal Tons per month Total Tons per 4 months
Administrative Fund:
• remuneration for administrative work, such as running of Contests, including announcing Contests, inviting developers to apply for Contests, consulting developers, announcing results of Contests, reminding winners about submission deadlines, consulting jurors, ensuring the timely payouts to the winners, jurors, etc.
• up to 150 Tons per hour depending on qualification
• Tons to be distributed by Free TON Dev Experience Jury once per month based on the information of the works done
150 160 24 000 96 000
Total 10 096 000

Topics of the Contests

The topics of the nearest Contests mentioned according to their priority.

SDK Contests

  1. Bindings for TON Client library (proposal)
  2. Proofs - library that provides functions to proof account, message, transactions so that developers can use them to prove that the specified object is valid. Library should retrieve all the necessary data for proofs from GraphQL API.
  3. TON OS DApp Server Bug Bounty Contest
  4. Web3-like wrapper over ton-client-js + migration instructions for developers, so that Ethereum developers can migrate their applications from Ethereum to TON or develop DApps from scratch in a familiar way.
  5. Graphql API bug bounty contest - validate API
  6. Object/business oriented bindings contest - write handy high-level libraries that will use low level bindings
  7. Service that provides access to parsed contracts data (including ABI-compatible and other contracts) and parsed messages data and allows data searching and data aggregating
  8. Analytics services - service that collects blockchain data from GraphQL API and provides different analytics

Toolchain Contests

  1. Transaction debugger:

    • UI
    • representation: In order to debug transaction step-by-step, we need to extract instruction sequence for its compute phase and present it in human-readable form.
    • format: [No] [Opcode] {args]

    Option 1 (preferable): obtain from the VM trace stashed at execution. Option 2 (fallback): use assembly code from the contract compilation.

    Requirements: standalone. repeatable. console. batch mode processing. Use annotations provided by other Experience, if available: gas consumption, account state change.

  2. Disassembler:
    Standalone CLI utility to translate TVM bytecode to TVM assembly. Requirements: standalone. repeatable. console. batch mode processing. Support multiple levels: function, file. Should keep symmetry with TON disassembler when used for the same scope. APIs for sub-file level translation. Store results in file or in memory. tests, help, usage docs, API reference. Special modes to operate on TON objects associated with TVM execution, e.g. transactions.

  3. Assembler:
    Standalone CLI utility to translate TVM assembly to TVM bytecode.
    Requirements: standalone. repeatable. console. batch mode processing. Support multiple levels: function, file, multiple translation units. Store results in file or in memory. API for sub-file scope calls. Tests, help, usage docs, API reference.

  4. Static analyser

  5. IDE
    An easy to use on-line IDE for creating, deploying and debugging TON Smart Contracts and DeBots in Solidity, C or C++.

Node Contests

Decentralized RTDB for Dapp Server (extremely important).

Research is needed may be use:

Based upon

Requirements:

  • Sparse replication. Only download the data you are interested in.
  • Realtime. Get the latest updates to the log fast and securely.
  • Performant. Uses a simple flat file structure to maximize I/O performance.
  • Secure. Uses signed merkle trees to verify log integrity in real time.
  • Browser support. Simply pick a storage provider (like random-access-memory) that works in the browser

Design the following protocols and solutions is needed:

  • Research and develop workchain based solution architecture
  • Search
  • Interaction with Smart Contract which implements application business logic

Economics

  • Designing incentive for validator storage and distribution of data replicas
  • Should tackle data availability problem
  • Support incentive for p2p interactive sessions (containers)

Smart Contracts

Formally verified smart contracts libraries to be served as building blocks for different applications:

  1. Formal verification of

    • TIP-3 Distributed Tokens (fungible, non-fungible and UTXO)
    • Multi Ballot SMV contract
  2. Design and Implementation of

    • Auth/Login/Signup user Identity
    • Tracking, digital asset life-cycle management
    • Loyalty and gamification mechanics

Other topics

  1. Workchain support — add support for additional workchains (1, 2, n…).
  2. Blockchain visualization (example: https://graphviz.org/Gallery/undirected/networkmap_twopi.html).
  3. Writing docs and tutorials: smart contract development, debots, dapps, sdk usage.

Free TON Dev Experience Jury Contest

Short description

This is the first contest to be run by the initial Free TON Dev Experience Jury. The Free TON Dev Experience Jury will be limited to the work described above and executed within the Free TON Dev Experience Governance structure.

This contest must be held again in the event that the Free TON Dev Experience Jury disbands for any reason until 15th February 2021. The max number of Free TON Dev Experience Jury members is 15.

Type

Contest

Contest entry period

The сontest entry period will be determined later.

Motivation

The goal of the contest is to attract professional developers that will be motivated to grow and enhance the Free TON ecosystem by participation in the Free TON Dev Experience governance structure. This will help achieve the goal of decentralized Governance 2.0.

Contest submission requirements

Applicants must provide a curriculum vitae that demonstrates the following:

  • Knowledge of IT and/or blockchain technologies
  • Proof of engagement in open source development (a link to github account is a must have)
  • Proof of knowledge of the code base of the Free TON
  • Proof of good understanding of the decentralised governance
  • Disclosure of the organisations/ the companies they are working for

These conditions may be changed or supplemented before the contest will launch.

Rights and duties of the winner as a member of the Free TON Dev Experience Jury

The duties of the Free TON Dev Experience Jury members are the following:

  • to ensure smooth running of Free TON Dev Experience governance;
  • to ensure development of CPs;
  • to review CPs;
  • to assess submissions for the Contests, including code review;
  • to ensure timely distribution of funds;
  • to participate in the activities of the Free TON Dev Experience governance on a regular basis.

The Free TON Dev Experience Jury members can’t judge the applications and submissions from themselves, organisations they belong to/companies they work for. It’s the responsibility of the Free TON Dev Experience Jury members to declare the affiliation and withdraw from assessment. This reason constitutes a valid excuse for any juror.

The Free TON Dev Experience Jury members are eligible for their services for the remuneration from the Jury Remuneration Fund.

These conditions may be changed or supplemented before the contest will launch.

Assessment of the entrants to Free TON Dev Experience Jury Contest

Each of the initial Free TON Dev Experience jurors has to assess all the incoming applications.

A juror must assess the application on a scale of 1-10 (10 - the highest score, 1 - the lowest score), based on assessment criteria.

A juror must provide a writing feedback for each application.

These conditions may be changed or supplemented before the contest will launch.

The applications that can’t be read or contain irrelevant information, or submitted after the deadline are to be disqualified and rejected.

Procedural remarks

Participants must correctly upload their applications to the Free TON Dev Experience Jury contest (in PDF format) in order for the jurors to view them. If the application can’t be open or is submitted in the wrong format, the candidate will be rejected by the jury.

Participants must submit their applications before the deadline of the contest. If the application is submitted late, it will be rejected.

All submissions must include the contestant’s social network identity, a Telegram ID and Github ID, by which jurors can verify that the submission belongs to the individual who submitted it. ​If not, the submission may be rejected.

Any juror may approach any applicant via Telegram and appoint an interview or ask several questions in writing to clarify any facts given in the application. The rejection to give an interview or to give answers to the questions can affect the score.
These conditions may be changed or supplemented before the contest will launch.

Disclaimer

Anyone can participate, but Free TON does not distribute Tons to US citizens or entities.

15 Likes

It’s nice to see how Free TON is developing

4 Likes

I am a very big supporter of this group / initiative. The attractiveness of Free TON ecosystem for the developers is going to be to a large extent driven by how developer friendly and easy it is. And the more developers come the reacher the ecosystem is going to be. Obviously TON OS from TON labs with compilers, multiple bindings etc. made a very significant progress in that direction, yet there is obviously endless room for further infinite progress. On the logic behind the number of tokens requested I would invite to comment those who are more engaged. Join into the discussion please! (Alexander Filatov, TON Labs).

2 Likes

Hello. Excellent work done.

1 Like

Proposal has been updated to reflect agreements from recent discussion

1 Like

The multisig address of DevEx SG

0:b453e53ae4ae0d8104592c1127298aecb637bb70a0bcd56322cf7731a66ce1d2

0x0f07a7cb924c7420520d0d98afad87d9b5e1765920fda698c22da6d0cd3354b9
0x1a99622e54b4e87d603dd87c9cc936b388b2a0e1979bb56d4039cfad0fbadc8c
0x3bdb99452a6ed9138af385d035e0967250d0e2da6f58b90245f285daf250915c
0x6bf867e7773038f9491b5d397cb7da8a20e112b45db9523cd8dae9deb608fb5a
0x6ff322ad669dfad2f396b98bdc8690cc49926f6a10cd7f10d07f031841cf09ef
0x865a7eb0e94d2623135dc00f3c060efdc3211309e93b279ff7d4422c5f21195d
0x9e808b1540babb85c428b9197b8df87860882d2db70607dfa134774a0513db30
0xa431eaa862d33d0a24f856552e303f38cf1c0fff379d9c137e1c91686e3e9c8e
0xb37e94b3177921824eeebb978bc2916f80a2fb19982e1b673171b5fe41dc0c9c
0xc1bd606a3eb63c41eca20eef547e7e5ffd91aa92f025542b44e3192af91cba5d
0xc9ae3b1c6aca828864702999e7bf1bd6f760f62988e056a4ba3a6104cde5fc17
0xdeb93a951c20140785ad7a9e7fa85fa6da5332cda85fbff6ef7784c805e963d3
0xf11b2cc3a9c7f4e67b0c92e18f54cd72ac19ff29f2abff8af4094d2db269573b
2 Likes