-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: add fosdem slides Signed-off-by: moul <[email protected]> * chore: fixup Signed-off-by: moul <[email protected]> * chore: fixup Signed-off-by: moul <[email protected]> * chore: fixup Signed-off-by: moul <[email protected]> * chore: fixup Signed-off-by: moul <[email protected]> --------- Signed-off-by: moul <[email protected]>
- Loading branch information
Showing
15 changed files
with
170 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
runx: | ||
cd ..; go run github.com/soypat/go-presentx -http 0.0.0.0:3999 -base ../.presentx | ||
|
||
run: | ||
cd ..; go run golang.org/x/tools/cmd/present -http 0.0.0.0:3999 # -base ../.. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*.png |
13 changes: 13 additions & 0 deletions
13
presentations/2025-02-01--fosdem--manfred/code/counter.gno
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package counter | ||
|
||
import "strconv" | ||
|
||
var counter int | ||
|
||
func Incr() { | ||
counter += 1 | ||
} | ||
|
||
func Render(_ string) string { | ||
return "my decentralized counter: " + strconv.Itoa(counter) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package main | ||
|
||
func main() { | ||
println("Hello, Fosdem! It's Manfred.") | ||
} |
5 changes: 5 additions & 0 deletions
5
presentations/2025-02-01--fosdem--manfred/code/hello_world.gno
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package hello | ||
|
||
func Hello() string { | ||
return "hello world" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package alice | ||
|
||
var x int | ||
func GetX() int { return x } | ||
func SetX(n int) { x = n } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package bob | ||
|
||
import "alice" | ||
|
||
func IncrAlice() { | ||
x := alice.GetX() | ||
alice.SetX(x + 1) | ||
} |
4 changes: 4 additions & 0 deletions
4
presentations/2025-02-01--fosdem--manfred/code/micropost-query.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
gnokey maketx call \ | ||
-pkgpath "gno.land/r/leon/fosdem25/microposts" \ | ||
-func "CreatePost" \ | ||
-args "Hello FOSDEM people! Welcome <3" ... |
4 changes: 4 additions & 0 deletions
4
presentations/2025-02-01--fosdem--manfred/code/we-are-building.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
we’re building a user-owned internet | ||
where governance is fair, | ||
development is open, | ||
and innovation is rewarded. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Date of the workshop | ||
date: "2025-02-01" | ||
# Title of the workshop | ||
title: "building decentralized apps in go: meet gno" | ||
# GitHub usernames of the speakers | ||
speakers: | ||
- "moul" | ||
# Location of the workshop | ||
location: "Brussels, Belgium" | ||
# At which event the workshop took place, if any | ||
event: "FOSDEM 2025" | ||
# Workshop slides link. If the link is local, only put the file name, without any other path parts. | ||
slides: "https://gnolang.github.io/workshops/presentations/2025-02-01--fosdem--manfred/presentation.slide.html#1" | ||
# Workshop recording | ||
#recording: "" |
100 changes: 100 additions & 0 deletions
100
presentations/2025-02-01--fosdem--manfred/presentation.slide
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# building decentralized apps in go: meet gno | ||
Fosdem, 1 Feb 2025, Brussels | ||
Tags: golang, gnolang | ||
Summary: TODO | ||
|
||
Manfred Touron | ||
VP Eng., gno.land | ||
https://gno.land/ | ||
https://github.com/gnolang | ||
@moul | ||
|
||
## bonjour, FOSDEM! | ||
|
||
.code ./code/hello.go | ||
|
||
- manfred touron (@moul) | ||
- built scaleway, berty, now gno | ||
- stuck with go for 10 years | ||
- unapologetically open-source maximalist | ||
|
||
## intro | ||
|
||
- go is an amazing language: simple, efficient, safe | ||
- not built for decentralized apps (dapps) | ||
- existing decentralized app platforms are complex, fragmented, and unfamiliar | ||
- what if you could write dapps in pure go? | ||
- meet gno: go for dapps, designed for modularity, composability, and safety | ||
|
||
## gno in one sentence | ||
|
||
gno is a **transactional vm**<br/> | ||
that lets you write **decentralized apps** in **go**,<br/> | ||
with built-in **state persistence** and **safe execution**. | ||
|
||
## gno hello world | ||
|
||
<br/> | ||
<br/> | ||
<br/> | ||
<br/> | ||
<br/> | ||
|
||
.code ./code/hello_world.gno | ||
|
||
## the gno paradigm | ||
|
||
- **no json, no grpc**: function calls instead of rpc | ||
- **no orm, no db drivers**: state is a first-class concept | ||
- **no external dependencies**: everything is go code | ||
- **no bytecode**: interpreted, readable go syntax | ||
- **no hidden magic**: all code is visible and auditable | ||
|
||
\... but it's just like go. | ||
|
||
## persistence: counter.gno | ||
|
||
.code ./code/counter.gno | ||
|
||
- global variables persist across transactions | ||
- no need for external storage or db | ||
|
||
## microposts.gno | ||
|
||
.image ./img/microposts.png _ 1000 | ||
|
||
## microposts demo | ||
|
||
.image ./img/micropost1.png _ 500 | ||
|
||
.code ./code/micropost-query.sh | ||
|
||
.image ./img/micropost2.png _ 500 | ||
|
||
[gno.land/r/leon/fosdem25/microposts](https://gno.land/r/leon/fosdem25/microposts) | ||
|
||
## interoperability: alice.gno & bob.gno | ||
|
||
Another app could use micropost... | ||
|
||
.code ./code/interop.gno | ||
.code ./code/interop2.gno | ||
|
||
- call functions from other contracts like normal go packages | ||
- no need for low-level calls or address casting | ||
|
||
## conclusion | ||
|
||
<br/> | ||
|
||
.code ./code/we-are-building.txt | ||
|
||
<br/> | ||
|
||
- gno makes go the first-class language for decentralized applications | ||
- if you know go, you already know gno | ||
- opportunities for developers to contribute and innovate | ||
- -> https://gno.land | ||
|
||
<br/> | ||
thank you! |