Realm

gno.land/r/g1x4zvyxlwauaanupr43fjm4l3kltk5h6lzgpvwn/gnochat

Rendered output

GnoChat

Public, wallet-owned channels on Gno.land.

Test

3 members · 10 messages

Tardigrades

Tardigrades have entered the chat!

2 members · 4 messages

Query (read-only)

non-crossing functions · no tx, no wallet needed
ChannelAt(index int) → string, string, string, string, int64, int, int, bool
ChannelCount() → int
GetChannel(channelID string) → struct{ID string; Name string; Description string; Owner .uverse.address; CreatedAt time.Time; MemberCount int; MessageCount int}, bool
GetMemberRole(channelID string, member string) → string, bool
GetMessage(channelID string, messageID string) → struct{ID string; Author .uverse.address; Content string; CreatedAt time.Time}, bool
IsMember(channelID string, member string) → bool
IsMuted(channelID string, member string) → bool
MessageAt(channelID string, index int) → string, string, string, int64, bool
MessageCount(channelID string) → int

Call functions (state-changing)

signs a tx via Adena
CreateChannel(name string, description string)
JoinChannel(channelID string)
MuteMember(channelID string, member string, muted bool)
PostMessage(channelID string, content string)
SetMemberRole(channelID string, member string, role string)

All exported functions (15)

show raw signatures
NameParamsReturns
CreateChannel [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "name", "Type": "string", "Value": ""}, {"Name": "description", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "string", "Value": ""}]
JoinChannel [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "channelID", "Type": "string", "Value": ""}]
SetMemberRole [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "member", "Type": "string", "Value": ""}, {"Name": "role", "Type": "string", "Value": ""}]
MuteMember [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "member", "Type": "string", "Value": ""}, {"Name": "muted", "Type": "bool", "Value": ""}]
ChannelCount [{"Name": ".res.0", "Type": "int", "Value": ""}]
GetChannel [{"Name": "channelID", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "struct{ID string; Name string; Description string; Owner .uverse.address; CreatedAt time.Time; MemberCount int; MessageCount int}", "Value": ""}, {"Name": ".res.1", "Type": "bool", "Value": ""}]
ChannelAt [{"Name": "index", "Type": "int", "Value": ""}] [{"Name": "id", "Type": "string", "Value": ""}, {"Name": "name", "Type": "string", "Value": ""}, {"Name": "description", "Type": "string", "Value": ""}, {"Name": "owner", "Type": "string", "Value": ""}, {"Name": "createdAt", "Type": "int64", "Value": ""}, {"Name": "memberCount", "Type": "int", "Value": ""}, {"Name": "messageCount", "Type": "int", "Value": ""}, {"Name": "found", "Type": "bool", "Value": ""}]
IsMember [{"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "member", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "bool", "Value": ""}]
GetMemberRole [{"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "member", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "string", "Value": ""}, {"Name": ".res.1", "Type": "bool", "Value": ""}]
IsMuted [{"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "member", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "bool", "Value": ""}]
PostMessage [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "content", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "string", "Value": ""}]
MessageCount [{"Name": "channelID", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "int", "Value": ""}]
GetMessage [{"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "messageID", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "struct{ID string; Author .uverse.address; Content string; CreatedAt time.Time}", "Value": ""}, {"Name": ".res.1", "Type": "bool", "Value": ""}]
MessageAt [{"Name": "channelID", "Type": "string", "Value": ""}, {"Name": "index", "Type": "int", "Value": ""}] [{"Name": "id", "Type": "string", "Value": ""}, {"Name": "author", "Type": "string", "Value": ""}, {"Name": "content", "Type": "string", "Value": ""}, {"Name": "createdAt", "Type": "int64", "Value": ""}, {"Name": "found", "Type": "bool", "Value": ""}]
Render [{"Name": "path", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "string", "Value": ""}]

Files

Storage

{
  "raw": "storage: 106392, deposit: 10639200"
}