We are the team and would like to participate in the . Well. Let's get started. Hello everyone! Free TON Ecosystem #Decentralized-Internet Writing Contest Plan Prehistory Concept End DeNet Prehistory We got the idea of a decentralized Internet somehow suddenly, and we didn't even know about the existence of such a competition. But since it so happened that the competition exists, why not take part, right? :) DeNet Concept So, our concept in a nutshell can be described as . Unfortunately, the real network has , for example, such as 16 KB per message, and we to fully deploy the static code in the blockchain but we can easily get around it by breaking messages into several blocks of size at . placing static inside a smart contract main.ton.dev very critical limitations will not be able 15.99 KB In the end, we can create or with intended for hosting sites, for example , and you can for a certain amount of TON Crystal. So, conditionally, we have a network specially configured to work with , their coins have a rate (value). denet.ton.dev freenet.ton.dev our own currency 🌎 DeCoins get them by exchanging them for DeFi DeNet Now it is necessary to solve the question of how to store these very statics. There are two options: The first is to . It seems to us that this approach will not always be advantageous. store the HTML code in variables at a smart contract 2. The second is . In the foreseeable future, in our opinion, it is not worth waiting for now, but when it appears, we will be able to deploy the statics properly. TON Storage Let's Go Back to DeNet: We Want to Introduce DHTTP - Decentralized HTTP Methods such as, for example, , , , and others will be written in the code of the contract (interface), which allows us to interact with the internal database (in any form, but still a database). GET POST PUT DELETE We will also store an array where (we'll come back later) will get the available routes. But what kind of site can it be if you can't interact with it. routes DeBrowser We introduce an array that . The programmer who writes the code for the DeNet site . We will give an example with our project - . owners can change routing, site configuration, and other metadata can change and add their own functions for their own needs Free TON Ecosystem The has the right to add his project to the general list by entering the required data. But what happens when he clicks the add button? guest The request is sent to the smart contract, to the same method, from where it gets to another method specified in the array. GET routes Then it goes through authorization (guest or owner), and is passed to other middleware, for example - creating a project (adding information to the mapping), and ultimately the contract sends a response to DeBrowser. Now, as promised, back to DeBrowser. This is . Unfortunately, to receive a response from a site hosted in DeNet. a special contract that the client deploys this is a mandatory procedure This contract has its own set of methods, which can, for example, display an error message, success message to the user, or execute arbitrary JavaScript code (to replace the code in real mode). But in fact, . DeBrowser is just the same Internet browser, but configured to interact with the blockchain Let's not be scattered, and clearly define the methods for each of the contracts. DeNet Endpoint get(string uri) post(string uri, string[] array) head(string uri, string[] array) put(string uri, string[] array) delete(string uri, string[] array) exists(string uri) selfDestruct() getDHTTPVersion() // 1.0, for example // Other methods writen by developer DeBrowser successCallback(address page, string message) errorCallback(address page, string message) infoCallback(address page, string message) updateCallback(address page, string message) dhttpcodeCallback(address page, uint code) // 404, for example existsCallback(bool status) DeNS (+ search system) getAddress(string domain) //ton.eco, for example, to 0:.... setAddress(address page, string domain) setMeta(address page, string meta) // 0.... and Free TON Ecosystem searchAddress(string data) // Free TON Ecosystem -> from meta removeMeta(address page) // Remove from search system getAll() setDesc(address page, string desc) // Set description for site removeAddress(address page) inactivePage(address page) // set incative status setDHTTPVersion(address page, string version) // Other methods writen by DeNS, for example: incrementViews(address page) The shown code is just an example of how we imagine this. Consider this. As you may have noticed, we have also described for DeNet. It is imperative that these methods in the DeNet system, . DeNS be in every contract otherwise DeBrowser will not be able to work Now we come to . After all, each DeNet-endpoint must be safe for viewing by the end user. Therefore, we must make a , which will check the security contract (the existence of any methods) and return the result. safety DeValidator DeValidator ableToWork(address page, uint type) // Other methods, for example: checkOnBlacklist(address page) can be public. must also have support for all versions, having previously obtained it by calling the DeNet Endpoint method ( ), or by obtaining it from . DeValidator DeBrowser DHTTP getDHTTPVersion() DeNS By the way, a , that is, hosting a site. After that, users will be able to access your site. But the big disadvantage is that the user will have to pay to deploy . At the same time, . huge advantage of DeNet is a one-time payment for deploying a contract DeBrowser DeBrowser you do not have to think about authorization by login and password, you will be already authorized by signing messages with DeBrowser keys Final Thoughts We hope you liked our article! If you like this concept, we will definitely continue to develop it. We sincerely want to develop DeNet, but we need funds and experienced staff. This concludes the first part of the DeNet concept, but rest assured, . we'll be back See you soon! You can write to us on for more information or help. Telegram