Search Apps Documentation Source Content File Folder Download Copy Actions Download 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}