-
Notifications
You must be signed in to change notification settings - Fork 8
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
Teritori's Builder Journey #7
Comments
Hey there! I'm zôÖma, core team lead @ Teritori. Teritori x Gno - Bi-weekly Call #0 Report - 06.08.2023First bi-weekly call to start grant collaboration, share status and upcoming works. Current state:
GnoDAO Deployer: Gno Moderation Module: Teritori core team contributors:🥷 JK Gopher
🥷 Norman:
🥷 Yo1110:
🥷 Omniwired:
🥷 zôÖma: Lead + Research
🥷 Ferryman Marketing
📖 Research & Documentation: Few Identified locking points on current Gno state:examples:
|
Added support for
|
Teritori x Gno - Bi-weekly Call #0 Report - 06.08.2023Curent state:We are building first bricks to be able to build decentralized moderation
/users & /boards & social feed Integration
This two bricks are mandatory to be able to build a the 'ModerationDAO' module and experiment it asap. 🥷 Norman:
🥷 Gopher:
🥷 Yo1110:
🥷 Omniwired (Juan):
RAW Questions & Notes from Call w/ Jae, Manfred & Core team):
Side topics:
Next steps:
|
🔗 Previous call report here: #7 Current State TLDR:
💻 Norman:
The gno code is here TERITORI/gno#3, this is still at exploration stage so it's unsafe and will probably change a lot ❓ Associated questions:
💻 Gopher:
❓ Associated questions:
💻 Yo1110:
❓ Associated questions:
in 💻 Omniwired:
Out of current scope:💻 Dadidou (Extra - Preparing future milestone: Multisig Interface)
Side Notes:
|
Teritori Report - 30 September 2023🗒️ Previous Report: TLDR; Current State TLDR: Moderation DAO Milestone: ✅Gno DAO Deployer v0.1 … ██████████ 100% ✔️ 🔗 feat: teritori contracts #1154 - PR Link: gnolang/gno#1154 🔖 Associated Documentations:Moderation DAO: DAO Deployer Tutorial: Teritori Demo Readme: 📖 Updated the documentation & tutorials with the faucet and published them on Teritori Gitbook: 🎯 Upcoming Milestone :Onchain Project Manager Module v0.1Onchain task management contracts
🚧 Status: User Interface design v0.1 : … █████████▒ 95% 💻 Justice DAO Module v0.1this module will allow to solve a conflict between buyer and seller using a dedicated DAO. This module will randomly select people to judge the conflict situation without any major conflict of interest. Users randomly selected in the Justice DAO will vote to find the fairest solution to the conflict. 🚧 Status: #14 TERITORI/gno#10 (VRF + Justice DAO PR) Current state:
Side contributions on Gno core topics & Dev toolsThe team will continue to identify useful tools for developers, to facilitate the onboarding of future developers within the Gno ecosystem.
We use the october month to : 1. review everything related to previous modules 2. bug fixing 3. prepare the next milestone plan. TERITORI/gno#5 (Escrow PR) |
Last updateQuick Report
🔗 PR: TERITORI/gno#11 |
VRF Research ReportLatest VRF codebase PR For VRF 0.1 for Gnoland, we use following mechanism.
Use caseVRF can be used by offchain users to request random data or by other realms to get TRUE random value on their operations. The initial use case is on Justice DAO to determine random members to get voting power on the DAO to resolve conflict between service providers and customers when there are issues between them. Data structureVRF utilize two structs, type Config struct {
vrfAdmin string
feeders []string
} type Request struct {
id uint64
requesterAddress string
requesterRealm string
requiredFeedersCount uint64
fulfilledCount uint64
randomWords []byte
fulfillers []string
} Realm configuration processAfter realm deployment, VRF admin is set by using By VRF admin, feeders are set by using Feeders can be modified by VRF admin at any time. Note: The random data that's already feed by feeder can not be cancelled by VRF admin. Random data generation process
Improvement thoughtsContinuously consuming VRF requestOn VRF 0.1, one request is designed for one time use. There might be a possibility where a realm continuously requires random numbers based on interval. And requesting it everytime would require bad UX. Transfering the ownership of VRF to DAOTo get better trust on VRF, the owner of the VRF will need to be a DAO realm. Random data sourceThere should be a software that the feeders run and the versions should be managed, the version should be compatible with the VRF realm. VRF random data feeders performance countingIt can count the number of requests fulfilled for up-time calculation. VRF random data feeders incentivesIt would be good to add sort of mechanism for rewards distribution to random data feeders. VRF random data feeders onboarding flowVRF 0.1 is assuming the owner set the data feeders directly, it would be good to let feeders to send request through realm with social profiles, and get it approved by DAO to join as random data feeder. Random data feeders profile managementRandom data feeders can maintain their profile. Questions
|
Quick UpdateEscrow system realms & Onchain project manager
PR: TERITORI/gno#11 Music FeedWe just deployed a kind of "soundcloud like" v1 on the gnosocial feed here (in the Music Feed Tab on top) : So in this v0.1, users can now :
In next versions, we would like to allow:
Please feel free to test, give feed back, ask for features, no idea is dumb! If you need some testnet tokens for GnoTeritori testnet, you just have to go on the home of the dApp (on GnoTeritori Testnet only) and you'll find a direct button for faucet. Feel free to ask for help here, we'll airdrop you! Later, we'll also probably invite you in the Moderation DAO, to grow the moderation committee! |
Today we had a brainstorm about worxdao bootstrap with gh0st and mikecito, here is the final document, everything is still wip and at early brainstorm/exploration stage, feedbacks are very welcome!! Worxdao definition / scopingRessources
Lexicon
grant proposal
tasks
explorationgno.land/r/worxdao with precise typestype WorxDistrib struct {
Points uint64
Rationale string
Source string
}
/* example
worxDistrib = [{
Points: 42
Rationale: "helped the new intern"
Source: "gno.land/r/supportdao"
}, {
Points: 21
Rationale: "developed X feature"
Source: "gno.land/r/evaluationdao"
}]
*/
interface WorxDistributor {
WorxPoints(addr std.Address) []WorxDistrib
WorxSum(addr std.Address) uint64
}
type Contrib struct {
// ???
}
interface ContribDistributor {
Contribs(addr std.Address) []Contrib
}
var admin std.Address
var worxDistributors []WorxDistributor
func WorxPoints(addr std.Address) []WorxDistrib {
all := []WorxDistrib{}
for d := range worxDistributors {
all = append(all, d.WorxPoints(addr)...)
}
return all
}
func WorxSum(addr std.Address) uint64 {
// ...
}
func RegisterWorxDistributor(wd WorxDistributor) {
if (std.PrevRealm().Addr() != admin) {
panic("nonono")
}
worxDistributors = append(worxDistributors, wd)
} gno.land/r/worxdao with anyinterface WorxDataProvider {
Get(dataName string, addr std.Address) any
}
var admin std.Address
var dataProviders []WorxDataProvider
func Get(dataType string, addr std.Address) []any {
all := []any{}
for d := range dataProviders {
all = append(all, d.Get(dataType, addr)...)
}
return all
}
func exampleGet() {
ret := Get("Worxsum", addr)
for r := range ret {
switch r.(type) {
case WorxSum:
// do something with worx points
}
}
}
func RegisterDataProvider(dp WorxDataProvider) {
if (std.PrevRealm().Addr() != admin) {
panic("nonono")
}
dataProviders = append(dataProviders, dp)
} gno.land/r/worxdao with any and avlinterface WorxDataProvider {
Get(dataName string, addr std.Address) any
SupportedTypes() []string
}
var admin std.Address
var dataProviders []WorxDataProvider
var dataTypeToDataProvider avl.Tree
func Get(dataType string, addr std.Address) []any {
all := []any{}
dataProviders := dataTypeToDataProvider.get(dataType)
for d := range dataProviders {
all = append(all, d.Get(dataType, addr)...)
}
return all
}
func exampleGet() {
ret := Get("Worxsum", addr)
for r := range ret {
switch r.(type) {
case WorxSum:
// do something with worx points
}
}
}
func RegisterDataProvider(dp WorxDataProvider) {
if (std.PrevRealm().Addr() != admin) {
panic("nonono")
}
for supp := range dp.SupportedTypes() {
providers := dataTypeToDataProvider.get(supp)
providers = append(providers, dp)
dataTypeToDataProvider.set(supp, providers)
}
} questionsgh0st: Why the name worxDAO ? |
Project Update: WorxDAO Development ProgressObjectiveOur current focus is on developing a proof of concept (POC) realm that allows linking a GitHub account with an on-chain address. This realm aims to enable users to associate their GitHub identity with an on-chain address. Current Status
Next Steps
|
Quick last report :
|
Quick last report:
Upcoming week focusses:
added to backlog:
|
Quick report:
|
Quick report:
In the background, we are also working on :
|
Report:
|
August 1st to August 14th (Gno Developer Call)User Public Profile (UPP)Updates:
Social Feed MapUpdates:
GnoVMUpdates:
Pending PRs: Gno FaucetUpdates:
Gno PlaygroundUpdates:
Gno LintPending PRs:
|
August 15th to September 2ndSocial Feed Map
User Public Profile (UPP)
GRC 20 Launchpad
WorxDAO Tooling = Cockpit
WorxDAO Tooling & CockpitLexicon
Next Steps:
1. Tooling ObjectivesCockpit: Data Aggregationr/cockpit: Initial Data Rendering
r/github:
r/governance: Voting and Participation
r/profile:
r/socialactivities:
r/notablecontributions:
r/support:
r/review:
V1 Focus
2. WorxDAO Overview
|
Welcome Teritori team to the Gno.land hackerspace. The place to introduce yourself and document your journey in Gno.land as contributors and builders of the Gno.land Moderation DAO.
The text was updated successfully, but these errors were encountered: