Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(gno.land): update content on pages #1735

Merged
merged 28 commits into from
Mar 6, 2024
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
10bd074
update intro section
leohhhn Mar 5, 2024
2e3bd5b
update about page
leohhhn Mar 5, 2024
e182e76
update events page
leohhhn Mar 5, 2024
0b8a3eb
update ecosystem page
leohhhn Mar 5, 2024
4237c53
add gnoscan link to home
leohhhn Mar 5, 2024
9add846
update grants page
leohhhn Mar 5, 2024
2ba226f
update build with gno column
leohhhn Mar 5, 2024
f2b2789
remove empty links for now, remove broken test3 faucet link
leohhhn Mar 5, 2024
df20ec5
reorg Learn about gno column
leohhhn Mar 5, 2024
f969f5d
update latest contributions link
leohhhn Mar 5, 2024
a805a6b
update section ordering on home
leohhhn Mar 5, 2024
724bb3d
add links to example packages
leohhhn Mar 5, 2024
2bbbfd3
update ordering on discover section, add deprecation notes to test2,t…
leohhhn Mar 5, 2024
82aaec4
add portal loop reference, reorg content inside columns
leohhhn Mar 5, 2024
b1cdf2a
update about gno page
leohhhn Mar 5, 2024
67fdc2b
fix gor title
leohhhn Mar 5, 2024
b585f61
revert to open pulls link
leohhhn Mar 5, 2024
d9f7d2d
Merge branch 'master' into chore/update-home
leohhhn Mar 5, 2024
ebebae8
change wording to archive instead of deprecated
leohhhn Mar 5, 2024
9eec1a7
update testnets page
leohhhn Mar 5, 2024
79d9996
add gophercon US to upcoming events
leohhhn Mar 6, 2024
b328962
remove gophercon us- not fully confirmed yet
leohhhn Mar 6, 2024
6791170
Update examples/gno.land/r/gnoland/pages/page_about.gno
leohhhn Mar 6, 2024
06a8bc8
Update examples/gno.land/r/gnoland/pages/page_gnolang.gno
leohhhn Mar 6, 2024
75164cd
add jumbotron to discover, move worx down
leohhhn Mar 6, 2024
ebf65c0
fix home filetest
leohhhn Mar 6, 2024
8f87744
fix pages test
leohhhn Mar 6, 2024
8fa6213
fix pages test, again
leohhhn Mar 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 32 additions & 30 deletions examples/gno.land/r/gnoland/home/home.gno
leohhhn marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,22 @@ func Render(_ string) string {

// body
dom.Body.Append(introSection()...)
dom.Body.Append(ui.Jumbotron(worxDAO()))
dom.Body.Append(packageStaffPicks()...)
dom.Body.Append(ui.HR{})

dom.Body.Append(discoverLinks()...)
dom.Body.Append(ui.Jumbotron(worxDAO()))

dom.Body.Append(
ui.Columns{3, []ui.Element{
lastBlogposts(4),
upcomingEvents(4),
lastContributions(4),
}},
)
dom.Body.Append(ui.Jumbotron(discoverLinks()))
dom.Body.Append(ui.HR{})

dom.Body.Append(packageStaffPicks()...)
dom.Body.Append(ui.HR{})
// footer
dom.Footer.Append(
ui.Columns{2, []ui.Element{
Expand Down Expand Up @@ -59,25 +63,24 @@ func lastBlogposts(limit int) ui.Element {
func lastContributions(limit int) ui.Element {
return ui.Element{
ui.H3("Latest Contributions"),
// TODO: import r/gh
// ui.Link{Text: "#1134", URL: "https://github.com/gnolang/gno/pull/1134"},
ui.Text("coming soon"),
// TODO: import r/gh to
ui.Link{Text: "View latest contributions", URL: "https://github.com/gnolang/gno/pulls"},
}
}

func upcomingEvents(limit int) ui.Element {
return ui.Element{
ui.H3("Upcoming Events"),
// TODO: import r/gnoland/events
ui.Text("coming soon"),
// TODO: replace with r/gnoland/events
ui.Text("[View upcoming events](/events)"),
}
}

func introSection() ui.Element {
return ui.Element{
ui.H3("An interpretation of the Go (Golang) programming language for advanced developers and intrepid pioneers to build succinct, composable smart contracts for social coordination."),
ui.Paragraph("If you’re concerned about information censorship and want to contribute to the #GnoWorldOrder, follow our socials to find out how."),
ui.Paragraph("Gno.land is in building mode. If you want to help lay the foundations of a fairer and freer world through innovative ideas and exceptional code, join us today."),
ui.H3("We’re building Gno.land, the first open-source smart contract system, using Gno, an interpreted and fully deterministic variation of the Go programming language for succinct and composable smart contracts."),
ui.Paragraph("With transparent and timeless code, Gno.land is the next generation of smart contract platforms, serving as the “GitHub” of the ecosystem, with realms built using fully transparent, auditable code that anyone can inspect and reuse."),
ui.Paragraph("Intuitive and easy to use, Gno.land lowers the barrier to web3 and makes censorship-resistant platforms accessible to everyone. If you want to help lay the foundations of a fairer and freer world, join us today."),
}
}

Expand Down Expand Up @@ -127,7 +130,7 @@ func quoteOfTheBlock() ui.Element {
qotb := quotes[idx]

return ui.Element{
ui.H3(ufmt.Sprintf("Quote of the ~Day~Block#%d", height)),
ui.H3(ufmt.Sprintf("Quote of the ~Day~ Block#%d", height)),
ui.Quote(qotb),
}
}
Expand All @@ -154,22 +157,22 @@ func packageStaffPicks() ui.Element {
3,
[]ui.Element{
{
ui.H4("r/gnoland"),
ui.H4("[r/gnoland](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/gnoland)"),
ui.BulletList{
ui.Link{URL: "r/gnoland/blog"},
ui.Link{URL: "r/gnoland/dao"},
ui.Link{URL: "r/gnoland/faucet"},
ui.Link{URL: "r/gnoland/home"},
ui.Link{URL: "r/gnoland/pages"},
},
ui.H4("r/system"),
ui.H4("[r/system](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/system)"),
ui.BulletList{
ui.Link{URL: "r/system/names"},
ui.Link{URL: "r/system/rewards"},
ui.Link{URL: "r/system/validators"},
},
}, {
ui.H4("r/demo"),
ui.H4("[r/demo](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/demo)"),
ui.BulletList{
ui.Link{URL: "r/demo/boards"},
ui.Link{URL: "r/demo/users"},
Expand All @@ -184,7 +187,7 @@ func packageStaffPicks() ui.Element {
ui.Text("..."),
},
}, {
ui.H4("p/demo"),
ui.H4("[p/demo](https://github.com/gnolang/gno/tree/master/examples/gno.land/p/demo)"),
ui.BulletList{
ui.Link{URL: "p/demo/avl"},
ui.Link{URL: "p/demo/blog"},
Expand Down Expand Up @@ -213,37 +216,36 @@ func discoverLinks() ui.Element {

- [About](/about)
- [GitHub](https://github.com/gnolang)
- [Subscribe](#subscribe)
- [Tokenomics (soon)](#)
- [Blog](/blog)
- [Events](/events)
- Tokenomics (soon)
- [Partners, Fund, Grants](/partners)
- [Explore the Ecosystem](/ecosystem)

</div><!-- end column-->

<div class="column">

### Build with Gno

- [Gno dev with CLI (soon)](#)
- [Explore the Universe](/ecosystem)
- [Test in the browser (soon)](#)
- [About the Gno Language](/gnolang)
- [Docs/ Tutorials](https://github.com/gnolang)
- [Gno by example](https://gno-by-example.com/)
- [Getting started video (soon)](#)
- [Write Gno in the browser](https://play.gno.land)
- [Read about the Gno Language](/gnolang)
- [Visit the official documentation](https://docs.gno.land)
- [Gno by Example](https://gno-by-example.com/)
- [Efficient local development for Gno](https://docs.gno.land/gno-tooling/cli/gno-tooling-gnodev)

</div><!-- end column-->
<div class="column">

### Explore the universe

- [Discover demo packages](https://github.com/gnolang/gno/tree/master/examples)
- [Install Gno Key instructions](/r/demo/boards:testboard/5)
- [Testnets 3](https://test3.gno.land/)
- [Testnets 2](https://test2.gno.land/)
- [Explorer links(soon)](#)
- [Testnet Tokens (faucet)](https://test3.gno.land/faucet)
- [Gnoscan](https://gnoscan.io)
- [Portal Loop](https://docs.gno.land/concepts/portal-loop)
- Testnet 4 (upcoming)
- [Testnet 3](https://test3.gno.land/) (archive)
- [Testnet 2](https://test2.gno.land/) (archive)
- Testnet Faucet Hub (soon)

</div><!-- end column-->
</div><!-- end columns-3-->`),
Expand Down
27 changes: 18 additions & 9 deletions examples/gno.land/r/gnoland/pages/page_about.gno
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,26 @@ func init() {
path := "about"
title := "Gno.land Is A Platform To Write Smart Contracts In Gno"
// XXX: description := "On Gno.land, developers write smart contracts and other blockchain apps using Gno without learning a language that’s exclusive to a single ecosystem."
body := `# About Gno.land
body := `
Gno.land is a next-generation smart contract platform using Gno, an interpreted version of the general-purpose Go
programming language. On Gno.land, smart contracts can be uploaded on-chain only by publishing their full source code,
making it trivial to verify the contract or fork it into an improved version. With a system to publish reusable code
libraries on-chain, Gno.land serves as the “GitHub” of the ecosystem, with realms built using fully transparent,
auditable code that anyone can inspect and reuse.

Gno.land is a platform to write smart contracts in Gno.
Using an interpreted version of the general-purpose programming language Go (Golang), developers can write smart contracts and other blockchain apps without having to learn a language that’s exclusive to a single ecosystem.
Web2 developers can easily contribute to web3 and start building a more transparent, accountable world.
Gno.land addresses many pressing issues in the blockchain space, starting with the ease of use and intuitiveness of
smart contract platforms. Developers can write smart contracts without having to learn a new language that’s exclusive
to a single ecosystem or limited by design. Go developers can easily port their existing web apps to Gno.land or build
new ones from scratch, making web3 vastly more accessible.

The Gno transaction token, GNOT, and the contributor memberships power the platform, which runs on a variation of Proof of Stake.
Proof of Contribution rewards contributors from technical and non-technical backgrounds, fairly and for life with GNOT.
This consensus mechanism also achieves higher security with fewer validators, optimizing resources for a greener, more sustainable, and enduring blockchain ecosystem.
Secured by Proof of Contribution (PoC), a DAO-managed Proof-of-Authority consensus mechanism, Gno.land prioritizes
fairness and merit, rewarding the people most active on the platform. PoC restructures the financial incentives that
often corrupt blockchain projects and rewards contributors for their work based on their expertise, commitment, and
leohhhn marked this conversation as resolved.
Show resolved Hide resolved
alignment.

Any blockchain using Gno achieves succinctness, composability, expressivity, and completeness not found in any other smart contract platform.
By observing a minimal structure, the design can endure over time and challenge the regime of information censorship we’re living in today.`
One of our inspirations for Gno.land is the gospels, which built a system of moral code that lasted thousands of years.
By observing a minimal production implementation, Gno.land’s design will endure over time and serve as a reference for
future generations with censorship-resistant tools that improve their understanding of the world.
`
_ = b.NewPost("", path, title, body, "2022-05-20T13:17:22Z", nil, nil)
}
38 changes: 24 additions & 14 deletions examples/gno.land/r/gnoland/pages/page_ecosystem.gno
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,41 @@ func init() {
path = "ecosystem"
title = "Discover Gno.land Ecosystem Projects & Initiatives"
// XXX: description = "Dive further into the Gno.land ecosystem and discover the core infrastructure, projects, smart contracts, and tooling we’re building."
body = `# Gno Ecosystem
body = `
### [Gno Playground](https://play.gno.land)

## Gno.land Space
Gno Playground is a simple web interface that lets you write, test, and experiment with your Gno code to improve your
understanding of the Gno language. You can share your code, run unit tests, deploy your realms and packages, and execute
functions in your code using the repo.

For the best onboarding experience, head over to [Gno.land Space](https://www.gnoland.space/) open ecosystem. Here you can set up your Gno wallet, explore existing community-written Gno smart contracts (realms), and become part of our vibrant community by joining [Gno.land Discord](https://discord.com/invite/x76qK4ttHC).
Visit the playground at [play.gno.land](https://play.gno.land)!

## Gno Studio (IDE)
### [Gnoscan](https://gnoscan.io)

Gno IDE is a web-based application helping builders quickly spin up Gno realms and packages right on their browsers. Offering a smooth and intuitive UX for building on Gno, you’ll find multiple modes for customizability with all the features you’d expect from an IDE, such as auto compilation in the editor, debugging, and extensive testing capability.
Developed by the Onbloc team, Gnoscan is Gno.land’s blockchain explorer. Anyone can use Gnoscan to easily find
information that resides on the Gno.land blockchain, such as wallet addresses, TX hashes, blocks, and contracts.
Gnoscan makes our on-chain data easy to read and intuitive to discover.

## Gnoscan
Explore the Gno.land blockchain at [gnoscan.io](https://gnoscan.io)!

Developed by the Onbloc team, Gnoscan is Gno.land’s blockchain explorer. Anyone can use Gnoscan to easily find information that resides on the Gno.land blockchain, such as wallet addresses, TX hashes, blocks, and contracts. Gnoscan makes our on-chain data easy to read and intuitive to discover. [Go to Gnoscan.](https://gnoscan.io/)
### Adena

## Adena
Adena is a user-friendly non-custodial wallet for Gno.land. Open-source and developed by Onbloc, Adena allows gnomes to
interact easily with the chain. With an emphasis on UX, Adena is built to handle millions of realms and tokens with a
high-quality interface, support for NFTs and custom tokens, and seamless integration.

Adena is a user-friendly non-custodial wallet for Gno.land. Open-source and developed by Onbloc, Adena currently powers all transactions on Gno.land, allowing gnomes to interact easily with the chain. With an emphasis on UX, Adena is built to handle millions of realms and tokens with a high-quality interface, support for NFTs and custom tokens, and seamless integration. [Get started here.](https://adena.app/)
### Gnoswap

## Gnoswap
Gnoswap is currently under development and led by the Onbloc team. Gnoswap will be the first DEX on Gno.land and is an
automated market maker (AMM) protocol written in Gno that allows for permissionless token exchanges on the platform.

Gnoswap is currently under development and led by the Onbloc team. Gnoswap will be the first DEX on Gno.land and is an automated market maker (AMM) protocol written in Gnolang that allows for permissionless token exchanges on the platform.
### Flippando

## Gno.land Developer Portal

Through the Gno.land Developer Portal, new developers can explore the exciting world of Gnolang (Gno), a novel programming language that powers the Gno.land blockchain. If you want to interact with Gno.land, start writing a realm, build a dApp, or even port a Solidity contract to a Gnolang realm, you’ll find the resources to [get started here](https://docs.onbloc.xyz/).`
Flippando is a simple on-chain memory game, ported from Solidity to Gno, which starts with an empty matrix to flip tiles
on to see what’s underneath. If the tiles match, they remain uncovered; if not, they are briefly shown, and the player
must memorize their colors until the entire matrix is uncovered. The end result can be minted as an NFT, which can later
be assembled into bigger, more complex NFTs, creating a digital “painting” with the uncovered tiles.
`
)
_ = b.NewPost("", path, title, body, "2022-05-20T13:17:23Z", nil, nil)
}
59 changes: 39 additions & 20 deletions examples/gno.land/r/gnoland/pages/page_events.gno
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ func init() {
path = "events"
title = "Gno.land Core Team Attends Industry Events & Meetups"
// XXX: description = "If you’re interested in learning more about Gno.land, you can join us at major blockchain industry events throughout the year either in person or virtually."
body = `# Events

If you’re interested in building web3 with us, catch up with Gno.land in person at one of our industry events. We’re looking to connect with developers and like-minded thinkers who can contribute to the growth of our platform.
body = `
If you’re interested in building web3 with us, catch up with Gno.land in person at one of our industry events.
We’re looking to connect with developers and like-minded thinkers who can contribute to the growth of our platform.

---

Expand All @@ -16,25 +16,39 @@ If you’re interested in building web3 with us, catch up with Gno.land in perso
<div class="columns-3">
<div class="column">

### EthCC
### GopherCon EU
- Come Meet Us at our Booth
- Berlin, June 17 - 20, 2024
[Learn More](https://gophercon.eu/)

- **Come Meet Us at our Booth**
- Paris, July 17 - 20, 2023
- Manfred Touron
</div><!-- end column-->
<div class="column">

[Learn more](https://www.ethcc.io/)
### GopherCon US
- Come see our talk, and participate in the Challenge series
- Chicago, July 7 - 10, 2024
[Learn More](https://www.gophercon.com/)

</div><!-- end column-->

</div><!-- end columns-3-->

---

## Past Events

<div class="columns-3">
<div class="column">

### Nebular Summit Gno.land for Developers
### GopherCon US

- Paris, July 24 - 25, 2023
- Manfred Touron
- **Come Meet Us at our Booth**
- San Diego, September 26 - 29, 2023

[Learn more](https://www.nebular.builders/)
[Learn more](https://www.gophercon.com/)

</div><!-- end column-->

<div class="column">

### GopherCon EU
Expand All @@ -48,21 +62,26 @@ If you’re interested in building web3 with us, catch up with Gno.land in perso

<div class="column">

### GopherCon US
### Nebular Summit Gno.land for Developers

- **Come Meet Us at our Booth**
- San Diego, September 26 - 29, 2023
- Paris, July 24 - 25, 2023
- Manfred Touron

[Learn more](https://www.gophercon.com/)
[Learn more](https://www.nebular.builders/)

</div><!-- end column-->
</div><!-- end columns-3-->

---
<div class="column">

## Past Events
### EthCC

<div class="columns-3">
- **Come Meet Us at our Booth**
- Paris, July 17 - 20, 2023
- Manfred Touron

[Learn more](https://www.ethcc.io/)

</div><!-- end column-->

<div class="column">

Expand Down
8 changes: 4 additions & 4 deletions examples/gno.land/r/gnoland/pages/page_gnolang.gno
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package gnopages
func init() {
var (
path = "gnolang"
title = "Gno Is a Complete Language for Blockchain"
// XXX: description = "Gnolang (Gno) is an interpretation of the popular Golang (Go) language for blockchain created by Tendermint and Cosmos founder Jae Kwon."
body = `# About the Gno, the Language for Gno.land
title = "About the Gno, the Language for Gno.land"
// TODO fix broken images
body = `

[Gno](https://github.com/gnolang/gno/blob/master/LICENSE.md) is an interpretation of the widely-used Go (Golang) programming language for blockchain created by Cosmos co-founder Jae Kwon in 2022 to mark a new era in smart contracting. Gno is ~99% identical to Go, so Go programmers can start coding in Gno right away, with a minimal learning curve. For example, Gno comes with blockchain-specific standard libraries, but any code that doesn’t use blockchain-specific logic can run in Go with minimal processing. Libraries that don’t make sense in the blockchain context, such as network or operating-system access, are not available in Gno. Otherwise, Gno loads and uses many standard libraries that power Go, so most of the parsing of the source code is the same.
[Gno](https://github.com/gnolang/gno/tree/master) is an interpretation of the widely-used Go (Golang) programming language for blockchain created by Cosmos co-founder Jae Kwon in 2022 to mark a new era in smart contracting. Gno is ~99% identical to Go, so Go programmers can start coding in Gno right away, with a minimal learning curve. For example, Gno comes with blockchain-specific standard libraries, but any code that doesn’t use blockchain-specific logic can run in Go with minimal processing. Libraries that don’t make sense in the blockchain context, such as network or operating-system access, are not available in Gno. Otherwise, Gno loads and uses many standard libraries that power Go, so most of the parsing of the source code is the same.
leohhhn marked this conversation as resolved.
Show resolved Hide resolved

Under the hood, the Gno code is parsed into an abstract syntax tree (AST) and the AST itself is used in the interpreter, rather than bytecode as in many virtual machines such as Java, Python, or Wasm. This makes even the GnoVM accessible to any Go programmer. The novel design of the intuitive GnoVM interpreter allows Gno to freeze and resume the program by persisting and loading the entire memory state. Gno is deterministic, auto-persisted, and auto-Merkle-ized, allowing (smart contract) programs to be succinct, as the programmer doesn’t have to serialize and deserialize objects to persist them into a database (unlike programming applications with the Cosmos SDK).

Expand Down
4 changes: 2 additions & 2 deletions examples/gno.land/r/gnoland/pages/page_gor.gno
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package gnopages

func init() {
path := "gor"
title := "Game of Realms Content For The Best Contributors"
title := "Game of Realms - Content For The Best Contributors"
// XXX: description := "Game of Realms is the first high-stakes competition held in two phases to find the best contributors to the Gno.land platform with a 133,700 ATOM prize pool."
body := `# Game of Realms
body := `

<div class="jumbotron">

Expand Down
18 changes: 6 additions & 12 deletions examples/gno.land/r/gnoland/pages/page_partners.gno
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,14 @@ package gnopages

func init() {
path := "partners"
title := "Partners"
// XXX: description := """
body := `## Partnerships
title := "Partnerships"
body := `### Fund and Grants Program

### Fund and Grants Program
Are you a builder, tinkerer, or researcher? If you’re looking to create awesome dApps, tooling, infrastructure,
or smart contract libraries on Gno.land, you can apply for a grant. The Gno.land Ecosystem Fund and Grants program
provides financial contributions for individuals and teams to innovate on the platform.

Are you a builder, tinkerer, or researcher? If you’re looking to create awesome dApps, tooling, infrastructure, or smart contract libraries on Gno.land, you can apply for a grant. The Gno.land Ecosystem Fund and Grants program provides financial contributions for individuals and teams to innovate on the platform.

<div class="stack">

[More information here](https://github.com/gnolang/ecosystem-fund-grants)

</div><!-- end stack-->
Read more about our Funds and Grants program [here](https://github.com/gnolang/ecosystem-fund-grants).
`

_ = b.NewPost("", path, title, body, "2022-05-20T13:17:27Z", nil, nil)
}
Loading
Loading