Cover photo

gnoland community first ama interview

Q: How do external packages get imported?

A:manfred

Example: when you call your smart contract from Go during testing it, how can/should that smart contract load external packages?

A gnolang can only import other gnolang contracts/libraries that were published on chain. If you want to import an external Golang library, you need to port it to Gno, publish it as a library, then you can use import it from a top-level contract. gnodev test is an exception, it basically creates an in-memory Gnolang VM, publish the dependencies (automatically detected), executes the test. The tool can act differently from the real on-chain experience. Note that we'll improve gnodev so it can automatically download on-chain contracts or use custom local paths, to support advanced development workflows

Q:What is the timeline for IBC2?

A:jaekwon

After launch of gno.land, IBC2 is permissionless innovation anyone can try for, so I imagine not long after that. After initial implementations I bet we will want to tweak/optimize the merkle tree further, but this can come after IBC2 demos.

Q: Can you tell us more about Game of Realms? What are Realm Boards? What's the idea behind them? ...

A:manfred

Game of Realms is a competition to build the first contracts of Gnoland and experiment proof of contributions. The first step of the competition will be to build the missing tools for the second step. So people will compete to write the DAO that will review the other contributions and allocate points. The rest of the competition will be about competing to write the best contracts for well-known categories, or make non-technical contributions. At the end, we'll have strong foundations (libraries, rules, tutorials, dapps) to help upcoming builders to start in better conditions. The best contributors will earn rewards and membership in the future DAO of contributors that will co-own the chain. We'll have the first version of a Proof-of-Contributions-based DAO of contributors. Focus on one of the official tracks: build a contract suite to compete with Cosmos' governance module to eventually complete Cosmos Hub governance. Realm boards are basic discussion contracts that can be used for discussions, and be extended for governance, launchpad, or other things mixing discussions and DAO actions.

A:jaekwon

What are realms, and what is /r/demo/board? A realm is a Gno package with state, that represents a smart contract with storage and coins. The other Gno packages don't have state, and so are "pure" packages that can be imported from other realm or non-realm packages. Like land-tax, realms must be whitelisted or pay storage upkeep for its state. You can create new realms by uploading a new package with the package directory starting with /r/REALM/NAME. /r/demo/boards is a Gno package that renders a message board. It is a proof of concept message board written in Gno. Since we need to preserve messages, it is a stateful (realm) package. You can see the files of the demo boards, like https://test3.gno.land/r/demo/boards/board.gno

Q:What is a Gnode?

A:jaekwon

I don't like the name "Gnode" because it's too generic, but the idea is to build Gno-based building blocks for GnoDAOs, as MyGnode embeds components (of owners, treasury, board etc) here: https://github.com/gnolang/gno/commit/b9128b1d69f02dbb49be883e0c70fe9d3fc40dcc

A:manfred

We can change the name --- A Gnode is a DAO implementation that implements an interface allowing them to interact. A Gnode can have a parent and have children. Top-down interactions may be funding, grants, and approvals. Bottom-up interactions may be reporting or vote. The implementation is flexible. You can have DAOs managing a Gnode, its treasury and voting the cross-Gnode interactions. You can have Gnodes with an elected leader or one driven by a bot or another blockchain. One of the goals of Game of Realms will be to propose various implementations of Gnodes. At the level of Gnoland, we will probably have a top-level Gnoland Gnode managing a global treasury and vision. Then various technical and non-technical children Gnodes manage subsets of the treasury and their tasks. Themselves having maybe their children. With IBC2, Gnodes could be distributed across different chains.

Q:I'm a developer (PHP, Python). How to become a Gno developer? Please advise me where to start.

A:manfred

Start learning Go! One of the long-term goals of Gno is to make writing contracts as easy as writing Web2 apps. The language is already strong in that direction, but we still need to catch many tooling, documentation, tutorials, and language improvements. You need to have a good level with Golang and be autonomous to start building on Gno. One of 'Game of Realms' tracks will be to work on everything related to onboarding more people. This will be the best place to write specific tutorials to onboard people from other ecosystems or languages.

Q:Is there a big picture diagram of the ecosystem?

A:jaekwon

cosmos hub <-- "ec2+DTCC" gno.land <-- "github for gno" (cosmos hub etc) ICS zones <-- "holy grail" scalable smart contracts

your chain <-- "gno inside"

your app <-- "import gno.land/..." (已编辑)

blockchain-based communications/coordination/discourse platform <-- us

// DTCC: "https://www.investopedia.com/terms/d/dtcc.asp" // my point is, be a good reliable token hub with good governance

Q:Is there a document or resource that describes the key concepts in a Gno smart contract?

A:manfred:

We have yet to get a single top-level documentation, sorry. You can find documentation in the code, README files, issues, etc. We need to improve this. The community will be able to work on this during Game of Realms.

Q:Is it possible to build code with gno land directly online?

A:jaekwon:

Is it possible to build code with gno land directly online or do I need to download an application or program? We will make the sandbox staging.gno.land environment easy to access, and that will be preferable to testing on gno.land directly. The gno codebase tries to remain minimal so it shouldn't be difficult to run it locally.

A :manfred

I've seen people writing contracts from VSCode on an online VSCode instance. Someone could to create a VSCode template configured to communicate with staging by default with a dummy wallet containing tokens.

Q:What's Proof of Contribution ? What kind of contribution will be credited ?

A:manfred

Proof-of-Contributions is a way to replace Proof of Staking with a metric based on the contributions. It's a variation of Proof-of-Authority where the authority is a DAO of contributors. After the 'Game of Realms' competition, we'll reward the best contributors with a tiered membership in the first version of Proof-of-Contributions DAO. The voting power and everything related to Staking will be distributed across the contributors. Later, we'll add more flexibility to the membership with $GNOSH, allowing more accurate and fair rewards. Validators won't receive voting power with staking. The DAO'll elect them, and will all receive the same amount of power. Validators will receive rewards for their technical work, not for the amount of staked atoms they'll be bound to.

Q:How does gno validator work? Pos? Proof of Contribution ?

A:manfred

The contributors DAO will elect validators. Validators will have the same amount of power. They'll be focused on validating and will receive rewards for that job.

Q:Is there a plan to be able to use the Gno VM with a Cosmos SDK based chain (as an alternative to ...

A:manfred

This is one of the plans yes. And not only on Cosmos SDK. But we don't have a clear plan about how it will happen yet.

Q:Is it possible to build code with gno land directly online?

A:jaekwon

Is it possible to build code with gno land directly online or do I need to download an application or program? We will make the sandbox staging.gno.land environment easy to access, and that will be preferable to testing on gno.land directly. The gno codebase tries to remain minimal so it shouldn't be difficult to run it locally.

A:manfred

I've seen people writing contracts from VSCode on an online VSCode instance. Someone could to create a VSCode template configured to communicate with staging by default with a dummy wallet containing tokens.

Q:Regarding interoperability

A:jaekwon

Regarding interoperability, will it be between Gno chains, with cosmos, or with more chains outside of cosmos? If it is with chains outside of cosmos, with which ones, in the short and long term? I think if the latter were to come to pass, the world of web3 and NFT could be awesome. --- short run, CosmosSDK based chains with IBC1 for code import and cross chain smart contract calls; but with IBC2/GNO it's really up to the smart contract logic. I think we're on the same page there.

Q:wen mainnet

A:jaekwon

Some time by Q2 next year would be good. But as policy can't commit to a date, because everything has to be ready first before official launch. Our thesis is that having the DAO with subDAOs will allow us to reach the end result in a faster way via some form of parallelism. First we need DAOs to assess new code, and better UX for managing something like upgrades to the Cosmos Hub. Once we have the DAO running on testx.gno.land, for some x > 4, and we have checked all vital TODOs, we will know that we are ready for "mainnet".

Q:Tokenomics, deflationary?

A:jaekwon

There will be $GNOT, and this token will be used for spam prevention fee payment, and it will be deflationary. Previously we discussed $GNOSH as a secondary token, but we have moved away from the $GNOT/$GNOSH model, and will keep $GNOT while making gno.land more about membership among levels of peers.

I think we need an alternative to the Cosmos Hub that is more people-centric than stake-centric, and where alignment is not bought or sold, but depends on contributions and value alignment proven over time. The hope is that by moving away from a pure tokenomics perspective and moving into the realm of politics and ethics along with general economics; we can curate a different kind of culture.

Q:Apart from Adena any plans for another wallet?

A:jaekwon

I think what we need are a few competing base implementations that best leverage the framework they build upon, rather react or minimal vue; and to create common core libraries along the way if reasonable. But there ought to be more than one approach for such a key component, and with special care taken into consideration for security. // Like I don't agree with Keplr asking so easily for 12/24 word mnemonic, even if the implementation is secure, it is going to become a problem. PSA btw.

Q:Any collaborations with other projects to build on gno?

A:jaekwon

Yes, why don't we make this truly open, in the style of free software, so that we can build upon a common VM design? The only thing I want to retain control over for a temporary duration of time is the regulation of trade marks, like "gno", "gno*", "*gno" (but you can use the license to fork this project however you want); and we want proper attribution, but the AGPL fork license suggests how we can work together collaboratively. The GNO VM can be used on any chain if it follows the AGPL style license, that we are calling the "Gno GPL". Blockchains can still be composed of components licensed with compatible open source software. We can collaborate indirectly by working and contributing to the same codebase, and know that the code we are building together will always be available for you to use for your chain, as long as it remains and is offered as GNO free software. So anyone can build in GNO smart contracts into their chain for free, according to license we are deriving from the GNU (not GNO) AGPL license. You don't have to pay gno.land or anyone if the license is followed. Example; we will collaborate with the Cosmos Hub and Cosmos/ATOM community to offer gno DAOs to be hosted by ICS1, and help bring collaboration tools for Cosmos. So this is how gno works with Cosmos Hub assuming ICS1 is solved. As for gno.land, we can start off with an independent gno instance for the Cosmos Hub's gno shards, and later allow the IBC importing of vetted code from gno.land/*.

Q:why Golang over Rust?

A: jaekwon

With parallelism offered by ICS1, the bottleneck becomes speed of innovation with safe code, rather than bare metal performance. So here, garbage collection, concurrency, embeddable structures, clear spec are good primitives for the next generation smart contract language. Similar reason why Javascript succeeded in browsers where say C++ would not have, and Java also provably failed.

That said I can see Rust being used to implement faster clients for gno.land in the future, or components of Rust. But in terms of mindshare, I don't think Rust can flip Go due to its design choices. That's not to say that Rust is any worse than Go, they are different

Q:Will GNO be its own hub?

A:jaekwon

will it provide ICS-like security technology to output to its own community

Like github doesn't offer EC2, I think likely we will be solving for different things. gno.land can be a "hub", like "git hub" is a "hub", but doesn't mean it's offering ICS. If other chains solve ICS1 better, then it makes sense for gno.land to be IBC connected to from zones that are not ICS1 replicated/secured with the gno.land validators.

This makes more sense if we consider that validators of gno.land are better as contributors to the gno.land ecosystem, rather than general validator service providers; overall we may be more comfortable contributing to an awesome ecosystem but not in entering the validator-as-a-service business.

It makes more sense to me that Cosmos Hub validators own that business, which will eventually require validators to run their own server stacks and have datacenter infrastructure.

Where is this ICS1 hub? The Cosmos Hub should run it with ICS1, if not, some fork should.

Q:How can one become a validator?

A:jaekwon

First one has to become a member. We have not yet defined the full member system, but we will figure that out along the way. For now, we can say that we want first and foremost members who also validate, rather than impartial validators that only validate.

Q:HUBL collab

I'm the cofounder of https://hubl.world/, a decentralized platform for communities of freelancers HUBL is deployed to 50 organizations (coworkings & collectives) comprising a bit less than 10k freelancers HUBL allows freelancers to find peer to take on projects together, and to find deals by sharing opportunities and earning commissions We currently make a couple of thousand € of revenue every month by taking a fee on the cross-collective deals

I started to integrate HUBL with Gno.land I think you guys have in mind a decentralized LinkedIn There must be bridges between these two projects

Could you elaborate a bit more about your vision for this dApp? If there is an opportunity to work together, I'd like to seize it


A:jaekwon

OK lets stay in touch! It would be awesome if you created a linkedin DAO on gno.land.

Something between LinkedIn and AngelList, where the open LinkedIn component helps us find each other in our new ecosystem. Ideally we use it to find ecosystem peers, and also sign up Cosmos cosmonauts there too. It's a chance for us to build our web of trust.

I think there's a lot of value to be created by creating linkedin on chain for all projects. And you can build your zone completely independent of gno.land, or we can work together to create the best modular gno code, and we can give attribution to your project and community, while also ensuring that you and key contributors become members of gno.land; this latter option is probably most interesting to people who are particularly passionate about good open source libraries. Gno.land aims to help software creators focus on what they do best, and whatever system we end up creating needs to be compelling to key developers.

Key differentiator here... while the DAOs we end up creating are meant to serve everyone, we also seek to find good peers who can build and maintain the gno stack and ecosystem as a closed membership system who will own gno.land as a kind of blockchain coop. Sounds like we might be highly aligned.

Q:Will Gnoland be used for smart contract / Gnode (GnoDAO) discovery?

A:jaekwon

yeah, gno.land will be like github for gno code, but also realm contracts with state will live there. GnoDAO discovery, yes, ideally permissionless and varied.

Q:Is it the smart contract x of the A chain of the Gno ecology, which can call the smart contract y of the B chain, and realize the smart contract call and message cross-chain between x and y?

A:jaekwon

yes with IBC2

discord:https://discord.gg/TW7X22UkxZ twitter:https://twitter.com/_gnoland

Join Gno Land and contribute to the new blockchain revolution