Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

content.gno

20.83 Kb · 356 lines
  1package home
  2
  3// defaultCrew seeds the roster at deploy time: everyone who contributed to
  4// gno with samcrew over the last four years, team by team, in the order the
  5// cards appear. Former members are in the alumni team, drawn in grey. Cards link to a public page until LinkProfile ties a member to their
  6// gno.land identity.
  7const (
  8	gh        = "https://github.com/"
  9	aboutCrew = "https://www.samourai.world/about/"
 10)
 11
 12func defaultCrew() []struct{ id, handle, role, team, url string } {
 13	return []struct{ id, handle, role, team, url string }{
 14		{"zxxma", "zôÖma", "Founder, CEO & CTO", "engineering", gh + "zxxma"},
 15		{"gh0st", "gh0st", "GnoVM core · 62 PRs in gno", "engineering", gh + "omarsy"},
 16		{"mikecito", "mikecito", "GnoVM · 39 PRs in gno", "engineering", gh + "Villaquiranm"},
 17		{"mikael", "Mikael Vallenet", "gno.land & GnoVM · 41 PRs", "engineering", gh + "mvallenet"},
 18		{"lours", "lours", "Validators & DevOps", "engineering", gh + "louis14448"},
 19		{"david", "david", "DevRel · 70 PRs in gno", "engineering", gh + "davd-gzl"},
 20		{"yohann", "Yohann G.", "Co-founder · Film director", "media", aboutCrew},
 21		{"fanny", "Fanny Z.", "Film maker · Photographer", "media", aboutCrew},
 22		{"thomas", "Thomas I.", "Film maker · Media director", "media", aboutCrew},
 23		{"oriane", "Oriane T.", "Photographer · Reporter", "media", aboutCrew},
 24		{"n0izn0iz", "n0izn0iz", "gno.land · Teritori · Zenao", "alumni", gh + "n0izn0iz"},
 25		{"dadidou", "dadidou", "Front-end · Teritori · Zenao", "alumni", gh + "WaDadidou"},
 26		{"moonia", "moonia", "gnolove · gnodaokit · Zenao", "alumni", gh + "moonia"},
 27		{"hthieu1110", "hthieu1110", "GnoVM · 8 PRs · Teritori", "alumni", gh + "hthieu1110"},
 28		{"omniwired", "omniwired", "tm2 · Teritori", "alumni", gh + "omniwired"},
 29		{"amozpay", "AmozPay", "DevOps · gno docs", "alumni", gh + "AmozPay"},
 30	}
 31}
 32
 33// defaultProfiles are the members already on chain.
 34func defaultProfiles() []struct {
 35	id   string
 36	addr address
 37	home string
 38	line string
 39} {
 40	return []struct {
 41		id   string
 42		addr address
 43		home string
 44		line string
 45	}{
 46		{"zxxma", "g1747t5m2f08plqjlrjk2q0qld7465hxz8gkx59c", "/r/g1747t5m2f08plqjlrjk2q0qld7465hxz8gkx59c/home", "<3 is the encryption key."},
 47	}
 48}
 49
 50const memba = "https://memba.samourai.app/mainnet"
 51
 52var hero = heroText{
 53	kicker:   "SAMOURAÏ COOP · GNO.LAND · PARIS",
 54	title:    "samcrew",
 55	subtitle: "The gno.land crew of Samouraï Coop",
 56	tagline:  "core contributors · genesis validator · design partner",
 57	footline: "film crew · engineering studio · since 2016",
 58	alt:      "samcrew, the gno.land crew of Samouraï Coop",
 59}
 60
 61// defaultSlots and defaultGalleries seed the page at deploy time. They are
 62// functions, not package variables, so the seed text is stored once (in the
 63// slot and gallery trees) instead of twice. After deploy the chain is the
 64// source of truth: edit with Set and SetGallery, not by redeploying.
 65func defaultSlots() []struct{ slug, body string } {
 66	return []struct{ slug, body string }{
 67		{"layout", `:hero:
 68
 69:intro:
 70
 71## 道 Core contributors, four years running
 72
 73:core:
 74
 75## 源 Open source
 76
 77:oss:
 78
 79:gallery.oss:
 80
 81## 作 Products
 82
 83:products:
 84
 85:gallery.products:
 86
 87## 組 Inside Memba
 88
 89:memba:
 90
 91:gallery.memba:
 92
 93## 守 What we run
 94
 95:run:
 96
 97## 侍 The crew
 98
 99:crew:
100
101## 録 gno.land on film
102
103:gnofilm:
104
105:gallery.gno:
106
107## 祭 Events
108
109:events:
110
111:gallery.events:
112
113## 報 Contribution reports
114
115:reports:
116
117:gallery.reports:
118
119## 学 Peer Dev: gno.land, taught on video
120
121:peerdev:
122
123:gallery.peerdev:
124
125## 旅 WEB TRIP
126
127:webtrip:
128
129:gallery.webtrip:
130
131## 映 Films by the crew
132
133:films:
134
135:gallery.films:
136
137## 記 From the blog
138
139:blog:
140
141:gallery.blog:
142
143## 印 On chain
144
145:packages:
146
147## 門 Find us
148
149:contact:
150
151---
152
153*This page is a contract.* ` + "`:realm:`" + ` · rev :rev: · block :height: on :chainid: · every poster on it is drawn on chain · [slots](/r/samcrew/home:slots)
154
155:ascii:
156`},
157
158		// The Samouraï Coop mark again, as a sign-off, drawn in half blocks from
159		// the logo's own pixels.
160		{"ascii", "```" + `
161              ▄▄▄██████████▄▄▄
162          ▄▄████████████████████▄▄
163       ▄▄██████████████████████████▄▄
164     ▄████████████████████████████████▄
165    ████████████████████████████████████
166         ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
167  ▄▄                                    ▄▄
168 ████████      ▄▄▄▄▄▄▄▄▄▄▄▄▄      █████████
169▄████████      █████████████      █████████▄       S A M O U R A Ï   C R E W
170▀▀▀▀▀▀▀▀▀      ▀▀▀▀▀▀▀▀▀▀▀▀▀      ▀▀▀▀▀▀▀▀▀▀
171                                                   film crew · engineering studio
172████████       █████████████▄      █████████       gno.land core contributors
173▀▀▀▀▀▀▀▀      ▄██████████████      █████████       Paris · since 2016
174              ███████████████      ████████▀
175 ██████▀      ███████████████       ▀██████
176  █████       ███████████████         ▀███
177   ████       ███████████████       ▄   ▀
178    ▀██       ███████████████       ▀█▄
179     ▀        ███████████████        █▀
180              ███████████████
181             ▄████████████████
182              ▀▀▀██████████▀▀
183` + "```"},
184
185		{"intro", `> **samcrew** is the gno.land team of [Samouraï Coop](https://www.samourai.world), a worker cooperative from Paris that is a film crew and an engineering studio in one company.
186
187We contribute to the chain's core, run one of its genesis validators, build our own products on it as a design partner, research how organisations govern themselves, and film the ecosystem as it grows.`},
188
189		{"core", `The crew has **[256 merged pull requests in gnolang/gno](https://github.com/gnolang/gno/pulls?q=is%3Apr+is%3Amerged+author%3Aomarsy+author%3AVillaquiranm+author%3Amvallenet+author%3Adavd-gzl+author%3An0izn0iz+author%3Ahthieu1110+author%3Amoonia+author%3AWaDadidou+author%3Aomniwired+author%3AAmozPay)**, about one in eleven of every PR merged there, and more each year: 48 in 2024, 79 in 2025, 128 so far in 2026.
190
191| | what we do |
192| --- | --- |
193| **GnoVM** | The interpreter, its type checker, stdlibs and test suite. |
194| **Security** | Hardening the VM, consensus and p2p against crashes, overflows and malformed input. |
195| **Chain & tooling** | gno.land node, tm2, genesis tools, ` + "`gnodev`" + `, docs. |
196| **Validators** | A genesis validator, [gnomonitoring](https://github.com/samouraiworld/gnomonitoring), [validator tooling](https://github.com/samouraiworld/gno-validator-tools) and the [katana](https://github.com/samouraiworld/katana) GovDAO daemon. |
197| **Governance research** | Our [research lab](https://samouraiworld.github.io/gov-research-wiki/) studies cooperatives, DAOs and open-source projects. [gnodaokit](https://github.com/samouraiworld/gnodaokit) and Memba are its output. |
198| **Design partner** | We ship our own products on gno.land and send what they teach us back upstream. |
199| **Documentation** | Retreat and event reports for the core team, the Peer Dev tutorials, the WEB TRIP interviews. |`},
200
201		{"run", `- **A genesis validator.** One of the four validators securing ` + "`gnoland-1`" + ` since mainnet launch on 12 September 2026.
202- **Validator monitoring.** [gnomonitoring](https://github.com/samouraiworld/gnomonitoring) watches the chain and pages the humans.
203- **GovDAO tooling.** [katana](https://github.com/samouraiworld/katana) automates validator ejection for GovDAO.`},
204
205		{"products", `Products built and run by the coop. The live ones are open to anyone.`},
206
207		{"memba", `[Memba](https://memba.samourai.app) is an experimental operating system for decentralised organisations, and the direct output of our governance research. It is MIT-licensed and [open source](https://github.com/samouraiworld/memba). Each of its parts is a product in its own right. Hover a card for details.
208
209Every game uses one daily seed for everyone, drawn from a gno.land block, and needs no wallet.`},
210
211		{"gnofilm", `The crew films gno.land from the inside: brand films, core-team retreats, portraits of the teams building on it.`},
212
213		{"oss", `Everything we can open, we open. These are our public gno repositories on [GitHub](https://github.com/samouraiworld).`},
214
215		{"events", `We produce the events we believe in, and we film the rest of the ecosystem's. **Paris P2P Festival**: five days of peer-to-peer at Ground Control, free, for 5,000 people. The Édition #1 talks are [all online](https://p2p.samourai.tv). **Hyper Hacktive Festival**: a film festival for independent documentaries funded by Samouraï Grants. It has had three editions, two at mk2 Quai de Seine, and sells its tickets on Zenao.`},
216
217		{"reports", `Each year, one film shows everything the coop shipped.`},
218
219		{"peerdev", `A 17-lesson curriculum, produced end to end by the coop, that takes a developer from an empty machine to GovDAO and the interrealm spec. Watch it on [the Peer Dev channel](https://www.youtube.com/@peerdevlearning) or as [one playlist](https://www.youtube.com/playlist?list=PLJZrQikyfMc-kBojXgAojOz4UQPuq4DiY).`},
220
221		{"webtrip", `Eight conversations with gno.land and web3 builders, filmed by the crew in 2024.`},
222
223		{"films", `40 festival selections, 3 wins. [The Underground Sistine Chapel](https://www.youtube.com/watch?v=fsRFHmdiyGE) took Best Documentary at the London Independent Film Awards and was released free on both IPFS and YouTube.`},
224
225		{"blog", `Research notes, essays and product write-ups from the coop. [All posts](https://www.samourai.world/blog/) · [RSS](https://www.samourai.world/blog/rss.xml)`},
226
227		{"packages", `**Realms:** [App Store](/r/samcrew/memba_appstore_v3) · [feed](/r/samcrew/memba_feed_v1) · [DAO channels](/r/samcrew/memba_dao_channels_v2) · [quests](/r/samcrew/memba_quest_attestation_v1) · [reviews](/r/samcrew/memba_reviews_v2) · [feedback](/r/samcrew/memba_feedback_v2) · [escrow](/r/samcrew/escrow_v3) · [market config](/r/samcrew/memba_market_config) · [arcade leaderboard](/r/samcrew/memba_arcade_leaderboard_v1) · [GnoBuilders badges](/r/samcrew/gnobuilders_badges_v2)
228
229**Libraries:** [avl](/p/samcrew/avl) · [piechart](/p/samcrew/piechart/v0) · [tablesort](/p/samcrew/tablesort/v0) · [urlfilter](/p/samcrew/urlfilter/v0)`},
230
231		{"contact", `[samourai.world](https://www.samourai.world) · [GitHub](https://github.com/samouraiworld) · [Samouraï TV](https://www.youtube.com/channel/UC0gExSSzyU8gTqUjoYerI8A) · [Peer Dev](https://www.youtube.com/@peerdevlearning) · [X](https://www.twitter.com/samouraicoop) · [Telegram](https://t.me/samouraicoop) · [email protected]`},
232	}
233}
234
235const (
236	yt   = "https://www.youtube.com/watch?v="
237	ghsw = "https://github.com/samouraiworld/"
238)
239
240func defaultGalleries() []struct{ name, spec string } {
241	return []struct{ name, spec string }{
242		{"gno", `
243gno | Gno: The Power To Build What Matters | gno.land · brand film | ` + yt + `M920PO3yrHk
244gno | Alignment Retreat, Turin | gno.land core team · retreat report | ` + yt + `3czMK3s30KQ
245gno | Inside Onbloc | gno.land · team portrait · Nov 2024 | ` + yt + `7umxHYDJ4Bk
246`},
247
248		{"products", `
249product | Memba | Experimental · organizations OS | https://memba.samourai.app
250product | Zenao | Beta · ticketing & communities | https://zenao.io
251product | gnolove | Live · who builds gno.land | https://gnolove.world
252product | Visio | Live · video meetings, no account | https://visio.samourai.app
253product | Greffon | Beta · self-host in one click | https://greffon.io
254product | Reportz | Live · the commons, from GitHub | https://reportz.dev
255product | Coop Nation | Live · the cooperative manifesto | https://coopnation.fr
256product | AlarmFriends | Soon · friends wake you up | https://alarmfriends.samourai.app
257`},
258
259		{"memba", `
260memba | Multisig Wallet | For organizations · Adena & gnokey | ` + memba + `/multisig | Create or import a multisig, propose sends and contract calls, collect signatures from Adena or gnokey, then broadcast.
261memba | DAO Management | Create, vote, execute · GovDAO | ` + memba + `/dao | Browse GovDAO and community DAOs, vote, execute, create your own and talk in DAO channels.
262memba | Validator Monitoring | Reliability scores · hacker view | ` + memba + `/validators | Every validator scored for reliability, plus a live consensus hacker view.
263memba | Alerting | GovDAO & validators · 3 channels | ` + memba + `/alerts | GovDAO and validator alerts on Discord, Slack and Telegram.
264memba | On-chain App Store | Registry · submissions · curation | ` + memba + `/apps | The ecosystem's apps, with an on-chain registry, submissions and curation.
265memba | Directory | DAOs · realms · packages · users | ` + memba + `/directory | Search DAOs, realms, packages, tokens and users, with source and render side by side.
266memba | Dev Reports | gnolove scoreboard · weekly reports | ` + memba + `/gnolove | The gnolove contributor scoreboard, weekly reports and team analytics.
267memba | Token Launcher | GRC20 · browse & launch | ` + memba + `/tokens | Browse GRC20 tokens and launch your own.
268memba | Social Feed | On-chain posts · open moderation | ` + memba + `/feed | An on-chain social feed with a public moderation log.
269memba | Quests & Badges | GnoBuilders · 85 quests · 8 ranks | ` + memba + `/quests | GnoBuilders: 85 quests, 8 ranks, a leaderboard and on-chain badges.
270game | Space Invaders | Daily or free play · no wallet | ` + memba + `/game/space-invaders | Marching waves, combos, a mystery UFO and destructible bunkers. Daily or free play, keyboard or touch.
271game | Block Party | Daily 4×4 merge · seeded by a block | ` + memba + `/game | A daily tile-merge puzzle. Everyone gets the same board, seeded from a real gno.land block. Streaks and a daily leaderboard.
272game | BARRICADE | 90-second lane defence · 8 waves | ` + memba + `/game/barricade | Hold the barricade against The Order for 8 waves up to the Broadcast Tower, then an endless siege. Runs can be certified on chain.
273`},
274
275		{"oss", `
276oss | memba | Multisig & DAO governance for gno.land | ` + ghsw + `memba
277oss | gnolove | The gno.land contributor scoreboard | ` + ghsw + `gnolove
278oss | zenao | Event ticketing & communities | ` + ghsw + `zenao
279oss | gnodaokit | A framework for DAOs in Gno | ` + ghsw + `gnodaokit
280oss | gnomonitoring | Monitoring for gno validators | ` + ghsw + `gnomonitoring
281oss | katana | GovDAO validator-ejection daemon | ` + ghsw + `katana
282oss | gno-validator-tools | Validators & sentries as code | ` + ghsw + `gno-validator-tools
283oss | gov-research-wiki | The governance research lab | ` + ghsw + `gov-research-wiki
284oss | peerdev | The Peer Dev channel, in the open | ` + ghsw + `peerdev
285oss | validator-diagnostics | The validator fire-drill portal | ` + ghsw + `validator-diagnostics
286oss | gno-onboarding-bot | Validator onboarding, on Discord | ` + ghsw + `gno-onboarding-bot
287oss | gno-govdao-activity-parser | GovDAO voter activity & test env | ` + ghsw + `gno-govdao-activity-parser
288`},
289
290		{"events", `
291festival | Paris P2P Festival | Co-founded by zôÖma · Ground Control | ` + yt + `PQ9I73tJobU
292festival | Hyper Hacktive Festival | 3 editions · mk2 Quai de Seine | https://hyperhacktive.io
293event | Web3 Summit | Web3 Foundation · Berlin 2024-25 | ` + yt + `PRG0cnV7YG8
294event | dWeb Camp | Internet Archive · California 2022 | ` + yt + `zx7Dduv0Hd4
295event | Funding the Commons | San Francisco · Buenos Aires | ` + yt + `bOZrUha9aQ8
296`},
297
298		{"reports", `
299report | Contribution Report 2025 | Samouraï Coop · Welcome to 2026 | ` + yt + `aG4M37FX4II
300report | Contribution Report 2024 | Samouraï Coop · Welcome to 2025 | ` + yt + `37L4vULszLQ
301report | Contribution Report 2023 | Samouraï Coop · Welcome to 2024 | ` + yt + `tj0imGVJHQc
302`},
303
304		{"peerdev", `
305peerdev | Setup your local environment | Lesson 1 | ` + yt + `C8RuA_uU3Fs
306peerdev | Build and test your first dApp | Lesson 2 | ` + yt + `nzo6QgxQHgw
307peerdev | Register your User Space | Lesson 3 | ` + yt + `R5t1GmBRUVk
308peerdev | Transaction types | call · run · addpkg · send | ` + yt + `-Z3M1XVxWU8
309peerdev | Coins and GRC20 | Lesson 5 | ` + yt + `4twoUyjo4rA
310peerdev | AVL tree vs map | Lesson 6 | ` + yt + `Qh73MqxxKTM
311peerdev | Deploying Gno packages | Lesson 7 | ` + yt + `B7bSreCwIls
312peerdev | Interactive documentation | Lesson 8 | ` + yt + `zpGxMQo3V-o
313peerdev | Effective programming in Gno | Lesson 9 | ` + yt + `UNJSuMdjTFA
314peerdev | Interrealm specification | Lesson 10 | ` + yt + `JJju7-GeRbA
315peerdev | DAOs and modular governance | Lesson 11 | ` + yt + `SphPgsjKQyQ
316peerdev | Governance DAO (GovDAO) | Lesson 12 | ` + yt + `jM-6ezyn_v4
317peerdev | Index your transactions | tx-indexer | ` + yt + `8ld0nsV37SA
318peerdev | Monitor your validator | gnomonitoring | ` + yt + `ujwbKSFS_wg
319peerdev | Extend your IDE | VS Code · Neovim · Emacs · JetBrains | ` + yt + `Ssk1m-YGnyo
320peerdev | Secure your wallet | Lesson 16 | ` + yt + `q2jlN8KXBMA
321peerdev | Gno vs Solidity | Lesson 17 | ` + yt + `Oi77hvJCVbU
322`},
323
324		{"webtrip", `
325webtrip | #1 Creating a New Era with Gno | Manfred Touron · gno.land | ` + yt + `Hv2QSIjz_U8
326webtrip | #2 Building Trust in Web3 | Isaac Patka · Shield3 | ` + yt + `hKc9eWU2_CI
327webtrip | #3 Digital Art Disruptors | Distributed Gallery | ` + yt + `4nvVak97eik
328webtrip | #4 Decentralizing Digital Communities | Morgan Bazalgette · gno.land | ` + yt + `Hprl2WkMYCA
329webtrip | #5 Bridging Web2 and Web3 | Dongwon Shin · Onbloc | ` + yt + `-kb_N4Y7cm0
330webtrip | #6 The Future of Staking and NFTs | Adrien Faguet · StakeLab | ` + yt + `0cOdIoQ1npI
331webtrip | #7 Personal Development and Blockchain | Dragos Roua | ` + yt + `aw8SJajzRdA
332webtrip | #8 Work-Life Balance & Product Design | Diane | ` + yt + `r_S9YbwF9UM
333`},
334
335		{"blog", `
336blog | Gno.land in 2026: the beta mainnet | 27 Aug 2026 · gno.land | https://www.samourai.world/blog/gno-land-in-2026-what-a-beta-mainnet-actually-means/ | The chain is live and the token cannot move yet: what has shipped, what has not, and what the project has actually promised.
337blog | Samouraï Governance Research Lab | 5 Nov 2025 · governance | https://www.samourai.world/blog/samoura%C3%AF-governance-research-lab-une-nouvelle-%C3%A9tape-pour-la-coop%C3%A9rative/ | The coop opens a research lab on cooperative and distributed governance, after eight years of building.
338blog | Decentralized governance or the classic model | 7 Jan 2026 · governance | https://www.samourai.world/blog/decentralized-governance-vs-classic-model/ | Decentralized (DAO, blockchain) and classic governance compared: advantages, limits, costs and use cases.
339blog | Crypto (Anti-)Commons? Part 1 | 23 Jun 2026 · research | https://www.samourai.world/blog/crypto-anti-commons-controversies-surrounding-the-status-of-bitcoin-and-public-blockchains-as-dig/ | Can Bitcoin and public blockchains be called digital commons? Part 1 maps the controversy.
340blog | Cooperative & Web3 Glossary | 13 Jan 2026 · research | https://www.samourai.world/blog/cooperative-web3-glossary-v-0-1/ | A living glossary translating between cooperative and Web3 vocabularies, for coops meeting the DAO and Web3 builders meeting the coop.
341blog | Insight Report #1: Phil H. | 12 Dec 2025 · interview | https://www.samourai.world/blog/insight-report-series-external-interview-1-phil-h/ | The first of an interview series on distributed governance.
342blog | From Startup Nation to Coop Nation | 4 Sep 2026 · essay | https://www.samourai.world/blog/from-startup-nation-to-coop-nation/ | Signs of a public and cooperative tech awakening in France, the risks of sovereignty washing, and how to take part.
343blog | Reportz: the digital commons, live | 31 Aug 2026 · product | https://www.samourai.world/blog/reportz-who-builds-the-digital-commons-live-from-github/ | A contribution board built from the public GitHub API: what it counts, and what it refuses to count.
344blog | Greffon: self-hosted deployment | 5 Aug 2026 · product | https://www.samourai.world/blog/greffon-io-self-hosted-deployment-platform/ | A technical tour of Greffon: its control plane, workers and built-in certificate authority.
345`},
346
347		{"films", `
348film | The Underground Sistine Chapel | Feature documentary · 2021 | ` + yt + `fsRFHmdiyGE
349film | Hashiriya | Documentary · 2025 | ` + yt + `OqMTmSEbqqY
350film | Soy Yo | Documentary · 2025 | ` + yt + `fWE2fpZuDEM
351film | Mañana cuesta más | Documentary · 2026 | ` + yt + `PEAR7l8dGEk
352film | Community Networks | Documentary · 2024 | ` + yt + `JuHVteEhNzo
353film | I'm Just a Lost Guy | Short film · 2025 | ` + yt + `84RgQxdI3n8
354`},
355	}
356}