| 
 | 1 | +# Gno.land  | 
 | 2 | + | 
 | 3 | +Tendermint changed the way blockchain developers think about blockchain  | 
 | 4 | +consensus algorithms. Gno.land will change the way developers think about  | 
 | 5 | +programming.  | 
 | 6 | + | 
 | 7 | +Gno.land represents paradigm shift in multi-user programming that no other  | 
 | 8 | +solution offers. It is not just a smart contract platform and blockchain; it is  | 
 | 9 | +the world's first viable language-based multi-user operating system. Its  | 
 | 10 | +ultimate goal is to host the world's knowledge base for the new millennium.  | 
 | 11 | + | 
 | 12 | +## Why Gno.land?  | 
 | 13 | + | 
 | 14 | +Compare publishing a blog site in Gno.land to all prior smart contract systems.  | 
 | 15 | + | 
 | 16 | +```go  | 
 | 17 | +// Realm: gno.land/r/me/myblog  | 
 | 18 | + | 
 | 19 | +package gnoblog  | 
 | 20 | + | 
 | 21 | +import (  | 
 | 22 | +"std"  | 
 | 23 | + | 
 | 24 | +"gno.land/p/demo/blog"  | 
 | 25 | +)  | 
 | 26 | + | 
 | 27 | +var b = &blog.Blog{  | 
 | 28 | +Title: "gno.land's blog",  | 
 | 29 | +Prefix: "/r/gnoland/blog:",  | 
 | 30 | +}  | 
 | 31 | + | 
 | 32 | +func AddComment(postSlug, comment string) {  | 
 | 33 | + crossing()  | 
 | 34 | +assertIsCommenter()  | 
 | 35 | +assertNotInPause()  | 
 | 36 | + | 
 | 37 | +caller := std.OriginCaller()  | 
 | 38 | +err := b.GetPost(postSlug).AddComment(caller, comment)  | 
 | 39 | +checkErr(err)  | 
 | 40 | +}  | 
 | 41 | + | 
 | 42 | +func Render(path string) string {  | 
 | 43 | +return b.Render(path)  | 
 | 44 | +}  | 
 | 45 | +```  | 
 | 46 | + | 
 | 47 | +You can see the Gno source code that rendered this webpage by clicking  | 
 | 48 | +on "\<\/\>Source" on the top right of the webpage.  | 
 | 49 | + | 
 | 50 | +Q: Why is everything else so complicated?  | 
 | 51 | + | 
 | 52 | +A: Strangely difficult to answer, but ultimately because our languages,  | 
 | 53 | +compilers, interpreters, and programming paradigm is still evolving.  | 
 | 54 | + | 
 | 55 | +## Brief Evolution of Language  | 
 | 56 | + | 
 | 57 | +Written human language has only been around for a mere 6000 years, a blip in  | 
 | 58 | +our evolutionary history. Like living species our language and writing have  | 
 | 59 | +evolved along side us and within us. Adam was not the first homo sapiens on  | 
 | 60 | +earth, but he may have been the first with written language, and thereby a new  | 
 | 61 | +kind of man.   | 
 | 62 | + | 
 | 63 | +Programming languages likewise has been evolving rapidly, but only for a  | 
 | 64 | +handful of decades; it was in the 1970s when Alan Kay developed Smalltalk, the  | 
 | 65 | +first object oriented programming language. In the 1990’s Brendan Eich of  | 
 | 66 | +Netscape invented Javascript which forever transformed the World Wide Web; Sun  | 
 | 67 | +Microsystem made Java, and industries prospered greatly by these and similar  | 
 | 68 | +language technologies.   | 
 | 69 | + | 
 | 70 | +## Gno vs Previous  | 
 | 71 | + | 
 | 72 | +Our languages, compilers & interpreters, and programs are today:  | 
 | 73 | + - Nondeterministic - randomness is the norm in concurrent programming, but  | 
 | 74 | + even Go randomizes map iteration.   | 
 | 75 | + - Disk Bound - programs need to be designed to save to disk —> SQL solutions;  | 
 | 76 | + NOT native language  | 
 | 77 | + - Dependent - running programs are owned by an owner; dependent on  | 
 | 78 | + individuals, not self-sustaining  | 
 | 79 | + - Ephemeral - running programs are expected to fail; no guarantee of  | 
 | 80 | + presence.  | 
 | 81 | + - Single User Realm - import of internal libraries are native, but  | 
 | 82 | + interactions with external programs are NOT native; generally no `import  | 
 | 83 | + “gno.land/r/external/realm”`, but leaky abstractions synthesized ie GRPC  | 
 | 84 | + | 
 | 85 | +Gno, GnoVM, and Gno.land is in contrast:  | 
 | 86 | + - Deterministic - gno routines not yet supported, but even these will be  | 
 | 87 | + deterministic.  | 
 | 88 | + - Auto Persistent - all changes to instantiated Gno objects in the transaction  | 
 | 89 | + are persisted transparently.  | 
 | 90 | + - Self Sustaining - every transaction locks $GNOT up for new storage allocated;  | 
 | 91 | + CPU gas fees paid in any language.  | 
 | 92 | + - Immortal - every Gno object that is referenced (not GC’d) remains forever.  | 
 | 93 | + - Multi User Realm - all objects are stored in realm packages (namespaces).   | 
 | 94 | + | 
 | 95 | +## Gno Language Innovation  | 
 | 96 | + | 
 | 97 | +All modern popular programming langauges are designed for a single programmer  | 
 | 98 | +user. Programming languages support the importing of program libraries natively  | 
 | 99 | +for components of the single user's program, but this does not hold true for  | 
 | 100 | +interacting with components of another user's (other) program. Gno is an  | 
 | 101 | +extension of the Go language for multi-user programming. Gno allows a massive  | 
 | 102 | +number of programmers to iteratively and interactively develop a single shared  | 
 | 103 | +program such as Gno.land.  | 
 | 104 | + | 
 | 105 | +The added dimension of the program domain means the language should be extended  | 
 | 106 | +to best express the complexities of programming in the inter-realm (inter-user)  | 
 | 107 | +domain. In other words, Go is a restricted subset of the Gno language in the  | 
 | 108 | +single-user context. (In this analogy client requests for Go web servers don't  | 
 | 109 | +count as they run outside of the server program).  | 
 | 110 | + | 
 | 111 | +Gno is Go plus:  | 
 | 112 | + - [`cross(fn)(…)`](https://github.com/gnolang/gno/blob/master/docs/resources/gno-interrealm.md#crossfn-and-crossing-specification)  | 
 | 113 | + calls `fn(…)` where fn is another realm.  | 
 | 114 | + - `std.CurrentRealm()` and `std.PreviousRealm()` changes upon cross-calls.  | 
 | 115 | + - `func fn() { crossing(); … }` signifies that fn is a crossing-function where  | 
 | 116 | + std.CurrentRealm() returns the realm in which the function is declared.  | 
 | 117 | + [Gno2 proposed syntax](https://github.com/gnolang/gno/issues/4223):  | 
 | 118 | + `@fn(…)`, `@func @fn() { … }`. These are like verb (function) modifiers in  | 
 | 119 | + [honorifics in Korean and Japanese](https://en.wikipedia.org/wiki/Honorifics_%28linguistics%29)  | 
 | 120 | + - While all data is readable by other realms, dot.selector access  | 
 | 121 | + across realms get [tainted with 'readonly' attribute](https://github.com/gnolang/gno/blob/master/docs/resources/gno-interrealm.md#readonly-taint-specification).  | 
 | 122 | + - [`revive(fn)`](https://github.com/gnolang/gno/blob/master/docs/resources/gno-interrealm.md#panic-and-revivefn)  | 
 | 123 | + for Software Transactional Memory (STM).   | 
 | 124 | + - Function/method return implies access without readonly taint.  | 
 | 125 | + - Inter-realm type conversion limitations to prevent exploits.  | 
 | 126 | + - More and refinements to come in Gno2.  | 
 | 127 | + | 
 | 128 | +These language innovations/extensions allow for safer multi-user application  | 
 | 129 | +development where many users are collaboratively programming a single timeless  | 
 | 130 | +(immortal) communal program.  | 
 | 131 | + | 
 | 132 | +## The Logoverse  | 
 | 133 | + | 
 | 134 | +Ἐν ἀρχῇ ἦν ὁ Λόγος καὶ ὁ Λόγος ἦν πρὸς τὸν Θεόν καὶ Θεὸς ἦν ὁ Λόγος. In the  | 
 | 135 | +beginning was the Word (Logos), and the Word was with God, and the Word was  | 
 | 136 | +God. - John 1:1  | 
 | 137 | + | 
 | 138 | +Logos means “word, discourse; reason”, and shares its root with the word  | 
 | 139 | +“logic”.   | 
 | 140 | + | 
 | 141 | +With these elements altogether you can derive a new property:  | 
 | 142 | + - Gno expressions become "real" on Gno.land.  | 
 | 143 | + - Ethereum comes close but isn't object-oriented and Solidity has no pronouns.  | 
 | 144 | + - TBL's WWW, DOM model, HTTP verbs, Plan 9, Ethereum, and FB Meta are all  | 
 | 145 | + attempts to arrive at the logoverse.  | 
 | 146 | + - Gno.land is the first complete logoverse.  | 
 | 147 | + | 
 | 148 | +## Adoption Strategy  | 
 | 149 | + | 
 | 150 | +There are over a million Go developers and growing. Go as a language remains a  | 
 | 151 | +popular language for developers, an order of magnitude more than Rust  | 
 | 152 | +developers, on par with Javascript developers but growing faster than  | 
 | 153 | +Javascript.  | 
 | 154 | + | 
 | 155 | +  | 
 | 156 | +  | 
 | 157 | + | 
 | 158 | +Gno.land and its associated network of Gno VM chains, and AtomOne if it hosts  | 
 | 159 | +it, will become the nexus of human to human, human to machine, and machine to  | 
 | 160 | +machine coordination; but only after it finds a self-sustaining organic growth  | 
 | 161 | +cycle.  | 
 | 162 | + | 
 | 163 | +The best way to ensure success and to accelerate adoption is to seed the  | 
 | 164 | +initial community with the right community. There are many types of  | 
 | 165 | +communities, such as crypto community, ethereum community, student community,  | 
 | 166 | +but since Bitcoin has gone mainstream these communities aren't always in  | 
 | 167 | +agreement about the purpose of blockchain technology; because they aren't aware  | 
 | 168 | +of the history and fabric of the hidden power structures that run the  | 
 | 169 | +narrative--both mainstream AND controlled oppositions. They do not feel that  | 
 | 170 | +they need something, so their habits are not as obvious to change.  | 
 | 171 | + | 
 | 172 | +But the "free-thinking" and "conspiracy" and "anti-war" and "anti-Covid19-vax"  | 
 | 173 | +and even the "true Christian" communities feel an urgent need for  | 
 | 174 | +censorship-proof coordination and communication tools. These communities have  | 
 | 175 | +influencers who are kept hidden from the general public; they have suffered  | 
 | 176 | +deplatforming, defamations, and even death.  | 
 | 177 | + | 
 | 178 | +Build tools, connections, and relations with these particular communities and  | 
 | 179 | +especially those influencers who are nuanced in their research and speech.  | 
 | 180 | +Even those that don't promote crypto will see the benefits uniquely offered by  | 
 | 181 | +Gno.land.  | 
 | 182 | + | 
 | 183 | +## Gno.land License  | 
 | 184 | + | 
 | 185 | +Anyone can make Gno VM powered chains derived from Gno.land according to the  | 
 | 186 | +viral copyleft license terms and strong attribution requirement. The Strong  | 
 | 187 | +Attribution clause of the Gno Network GPL license preserves the spirit of the  | 
 | 188 | +GNU AGPL license for the blockchain world.  | 
 | 189 | + | 
 | 190 | +## Tokenomics  | 
 | 191 | + | 
 | 192 | +$GNOT is the storage lock-up utility token, so Gno.land is to Gno England like  | 
 | 193 | +$GNOT is to presence in Gno England, where total storage is kept finite for  | 
 | 194 | +very-long-term existential purposes, and value is derived from the Gno  | 
 | 195 | +artifacts created by its users, and some new users competing for attention from  | 
 | 196 | +many existing users.  | 
 | 197 | + | 
 | 198 | +Gno.land may migrate to AtomOne ICS once it is support hard-fork upgrades.  | 
 | 199 | +There Gno.land would be one ICS shard, and many Gno VM shards may also exist,  | 
 | 200 | +each with their own namespace and probably each their own storage token unless  | 
 | 201 | +separate treaties are made between the main Gno.land chain (ICS shard) and  | 
 | 202 | +other Gno VM shards. Transaction fees for CPU usage may be paid in either $GNOT  | 
 | 203 | +or $PHOTON.  | 
 | 204 | + | 
 | 205 | +## Team  | 
 | 206 | + | 
 | 207 | +### New Tendermint, LLC  | 
 | 208 | + | 
 | 209 | +NewTendermint, LLC is the core maintainer of the GnoVM, Tendermint2, and   | 
 | 210 | +at present Gno.land.  | 
 | 211 | + | 
 | 212 | +#### GnoVM & Gno.land Core Team  | 
 | 213 | + | 
 | 214 | + * Jae Kwon before and after creating Tendermint and Cosmos always had a  | 
 | 215 | + passion for programming languages and wrote multiple parsers and  | 
 | 216 | + interpreters, and initially also wrote an EVM on top of the framework which  | 
 | 217 | + became the Cosmos SDK. Gno.land is the result of two decades of search for  | 
 | 218 | + the logoverse.  | 
 | 219 | + | 
 | 220 | + * Manfred Touron, builder focused on open-source and resilient technologies;  | 
 | 221 | + co-founded scaleway (cloud) and berty (p2p messaging), with contributions to  | 
 | 222 | + 900+ open-source projects.  | 
 | 223 | + | 
 | 224 | + * Miloš Živković - Senior distributed systems engineer; passion for solving  | 
 | 225 | + protocol-level problems in the blockchain space.  | 
 | 226 | + | 
 | 227 | + * Morgan Bazalgette - Senior Go engineer; bringing the joy of developing Go to  | 
 | 228 | + Gno.  | 
 | 229 | + | 
 | 230 | + * Ray Qin - With over 15 years of experience in software development and  | 
 | 231 | + building large-scale networks, I have a deep passion for Go programming  | 
 | 232 | + language and blockchain technology.  | 
 | 233 | + | 
 | 234 | + * Marc Vertes - Senior VM and hardware developer; more than 3 decades of  | 
 | 235 | + experience, Co-founder of 3 companies (1 acquired by IBM), author of 34  | 
 | 236 | + patents, author of the Yaegi Go interpreter.  | 
 | 237 | + | 
 | 238 | + * Alexis Colin - Senior Frontend Engineer with 10+ years of experience  | 
 | 239 | + building user-focused interfaces and exploring modern tech stacks. Driven to  | 
 | 240 | + push forward efficient UX in the blockchain space through clean code and  | 
 | 241 | + technical precision. Currently working on gnoweb.  | 
 | 242 | + | 
 | 243 | +#### Gno Studio Team  | 
 | 244 | + | 
 | 245 | + * Ìlker Öztürk - Senior software architect; 17 years in building and designing  | 
 | 246 | + products, distributed p2p systems, leadership and strategic vision.  | 
 | 247 | + | 
 | 248 | + * Jerónimo Albi - Experienced full-stack systems engineer with attention on  | 
 | 249 | + simplicity and minimalism, focused on Blockchain and Golang development  | 
 | 250 | + | 
 | 251 | + * Salvatore Mazzarino - Site Reliability Engineer with over 10 years of  | 
 | 252 | + experience in building and mantaining high and scalable distribute systems  | 
 | 253 | + across different range of platforms. "If it is not monitored, it does not  | 
 | 254 | + exist"  | 
 | 255 | + | 
 | 256 | + * Danny Salman - Vast experience in blockchain developer relations, technical  | 
 | 257 | + writing and education, and product, with a background in full-stack  | 
 | 258 | + development, engineering, and policy.  | 
 | 259 | + | 
 | 260 | + * Alan Soares - A Brazilian lost in middle earth. Passionate coder with love  | 
 | 261 | + for open-source and software craftsmanship. Taking the web forward for over  | 
 | 262 | + 16 years.  | 
 | 263 | + | 
 | 264 | + * Lucio Caetano - Senior Frontend Engineer with 10+ years of experience  | 
 | 265 | + building web applications, specializing in web3 and blockchain technologies.  | 
 | 266 | + With a background in data analysis, providing data-driven decisions and  | 
 | 267 | + reporting with large datasets.  | 
 | 268 | + | 
 | 269 | +### All in Bits, Inc   | 
 | 270 | + | 
 | 271 | +Members of All in Bits, Inc also build applications and community on top of  | 
 | 272 | +Gno.land.  | 
 | 273 | + | 
 | 274 | + * Kristov Atlas - Since 2012, I’ve been a crypto security engineer and  | 
 | 275 | + researcher focusing on non-custodial wallets, CeFi exchanges, Bitcoin,  | 
 | 276 | + Ethereum, and the Cosmos ecosystem.  | 
 | 277 | + | 
 | 278 | + * Michelle Leech - "Experienced marketing and ecosystem builder skilled at  | 
 | 279 | + creating and driving strategic initiatives that foster relationship building  | 
 | 280 | + and boost developer advocacy, engagement, education, and product  | 
 | 281 | + utilization"  | 
 | 282 | + | 
 | 283 | + * Lav Leon Hudak - DevRel Engineer with a strong background in blockchain  | 
 | 284 | + development, documentation, and education.  | 
 | 285 | + | 
 | 286 | + * Sean Casey - CFO (Chief Financial Gnome) - 10+ years’ experience in finance,  | 
 | 287 | + aircraft leasing, and blockchain. Leads financial strategy, and treasury  | 
 | 288 | + operations, ensuring capital discipline, regulatory compliance, and  | 
 | 289 | + long-term value creation.  | 
 | 290 | + | 
 | 291 | + * Jordan Magazine - Experienced General Counsel with over a decade of  | 
 | 292 | + practice, specializing in designing frameworks that enable blockchain  | 
 | 293 | + ecosystems to operate with clarity and compliance, empowering projects to  | 
 | 294 | + scale confidently and with integrity.  | 
 | 295 | + | 
 | 296 | + * Carolyn Pehrson - Paralegal keeping AIB,Inc and NT,LLC alive. Thinks you  | 
 | 297 | + should get a pet mini pig.  | 
0 commit comments