1
00:00:00,000 --> 00:00:06,000
is because I'm out on a farm, say, yeah. But anyway, I'm on a farm at the moment.

2
00:00:09,600 --> 00:00:14,960
Welcome to Game of Nodes, a weekly podcast on Cosmos from independent ValorBator teams.

3
00:00:20,000 --> 00:00:25,520
Hello, welcome to Game of Nodes, a weekly podcast from independent ValorBator teams on the Cosmos

4
00:00:25,520 --> 00:00:30,320
and Null is out on a farm and complaining about his internet. Nothing's really new there if you

5
00:00:30,320 --> 00:00:36,560
watched last week's episode. And we're joined by James from Subquery. We're going to talk about

6
00:00:36,560 --> 00:00:42,160
what a Subquery is and why I should want one. But first, we're going to cover off some follow-up

7
00:00:42,160 --> 00:00:46,720
questions from last week. And both you, Serpa and James, are going to tell us all about consensus

8
00:00:46,720 --> 00:00:51,840
in Austin. It's going to make us feel very, very jealous that we weren't there because I have been

9
00:00:51,840 --> 00:00:58,080
in a loft and Null has been in the bush. So clearly we weren't a consensus, which is very,

10
00:00:58,080 --> 00:01:06,240
very distressing. So first, oh, right, the big, the big, the big follow-up we have obviously is on

11
00:01:06,240 --> 00:01:12,400
the Osmosis Hall, right? But Schultz is our resident Osmosis expert and he's been rugged by the power

12
00:01:12,400 --> 00:01:27,280
cut in, are we allowed to say where he lives now? Is that Doxin? He lives in a, are we not allowed to say, okay, if not, I'd say he lives in a place with bad power grid and he has been

13
00:01:27,280 --> 00:01:36,160
rugged by the power grid. So that's why Schultz is not on today's episode being wholesome. This is not the first one, he's been rugged either by the old power.

14
00:01:36,160 --> 00:01:47,520
That's correct. I think two out of three of the most recent episodes, he's been rugged by power cuts, which begs a lot of questions about, about, about living there. But

15
00:01:47,520 --> 00:01:50,080
Not least he doesn't have a bed and a snake.

16
00:01:50,080 --> 00:01:53,680
He's not good at that.

17
00:01:53,680 --> 00:02:03,280
He was able to tell us that the power was out, but I guess that was that was a mobile or something? I don't really, I don't really know how he got the word out, smoke signal or something like that.

18
00:02:03,280 --> 00:02:11,440
So, you said, is there something that you can you add something to the, to the Osmosis follow up or is it just simply we're back, hooray?

19
00:02:11,440 --> 00:02:22,560
I think we're back, hooray. I think, I think there was concerns about that they were going to make a, there was some discussion around the state change, right? I think when we left it last week, there, they had four, there was four

20
00:02:22,560 --> 00:02:37,120
suspect accounts, I think had volumes high enough in this little defect, scan, whatever we want to call that. And I believe the other two, they, I think they tracked those owners down. This is all consensus rumor, by the way.

21
00:02:37,120 --> 00:02:50,560
But what I heard was I heard that they tracked those two individuals down by going through the CEXs and identifying who they were and then communicating out. And once they communicate out, there was some, oh yeah, we'll return that right away.

22
00:02:50,560 --> 00:03:06,560
I could be wrong on that, that whole story, that's just kind of secondhand, but that's what I understand. So, from my perspective, I think then those funds were returned, maybe post restart, possibly. And the issue was fixed and the chain was restarted, I think, without any drama.

23
00:03:06,560 --> 00:03:28,560
Is that everybody else's understanding of the situation? Yeah, that was roughly what I heard. I mean, I know we were talking last week about whether or not the, especially the fire state thing happened because they realized they'd been busted or whether or not it was actually a genuine sort of, yeah, we did actually screw up and want to return the funds rather than somebody tapping you on the shoulder and going.

24
00:03:28,560 --> 00:03:44,560
Right. We know it's you lads, you literally did it with your validator account. What were you doing? You never know it's a real exploit until you get past the first million. That's what they always say. That's what they say, yeah. It does, yeah, whatever.

25
00:03:44,560 --> 00:04:00,560
Yeah, it sucks. Sorry for the Osmosis guys, glad that they're back up, I guess, is the conclusion from that one. So there were some talk as well about ICA host functionality and stuff. Last week, we were kind of nibbling around the edges of that.

26
00:04:00,560 --> 00:04:16,560
And I guess the other thing that's happened for us was we ran a chain upgrade on Juno, which enabled ICA host functionality for the testnet so we can play around with it. And I think almost all of us were AFK when it happened.

27
00:04:16,560 --> 00:04:32,560
Our automation is good enough that it just happened. But I think most of us, well, I know certainly you've got a very cool setup now on the testnet, haven't you? You said, because you're hawk-wraxing it up, aren't you?

28
00:04:32,560 --> 00:04:42,560
I am, yeah. We're still hawk-wraxing it up. I'm still trying to figure out what that's going to look like. And if I had time to actually build it out the way I want to build it out, but it's getting there. We'll get there.

29
00:04:42,560 --> 00:04:48,560
Can you talk about what that ICA thing is for us that don't know exactly what that is?

30
00:04:48,560 --> 00:05:11,560
Okay. So interchain accounts, ICA, for those that want to just shorten things incessantly. The key components of ICA are that there's a host chain and there's a controller chain. So the host chain is the one that is being interacted with, if you like, and exposes functionality that can be used by other chains.

31
00:05:11,560 --> 00:05:33,560
The controller chain is the one that's actually doing the controlling, and that has some pretty heavy implications for authentication. There is a default implementation of the authentication part with a lot of capital letters, warnings on it, saying do not use in production, etc., etc., etc., etc.

32
00:05:33,560 --> 00:06:02,560
So Joe Abbey, another common panelist, if you like, on Game of Nodes and I have been working on that a little bit. And yeah, we decided essentially that a staged approach to getting it out made sense because the full requirements of authentication to be a controller chain aren't really clear and having spoken to other chain core teams.

33
00:06:02,560 --> 00:06:25,560
The general feeling I got, and please, if we're just being cowardly cussed, just say on Twitter and say that we can just do it, don't worry about it. But the impression we've got was that most chains who are doing ICA functionality at the moment are doing host first and waiting for somebody else to jump on controller.

34
00:06:25,560 --> 00:06:36,560
And it kind of makes sense, right? Because a lot of the time what you actually want to do is allow other chains to interact with the applications on your chain, especially if you're a smart contract chain.

35
00:06:36,560 --> 00:06:56,560
So the kind of functionality that you know is exposing is smart contract executions, smart contract instantiation, it's the kind of stuff that an AMM might need to do, that anything interacting with NFTs, CW20s, that kind of stuff, it's going to want to instantiate and execute smart contracts.

36
00:06:56,560 --> 00:07:12,560
And so those are the things that are initially exposed as well as the native modules so you can do, you know, bank sends and all that kind of stuff. All the other things that you're going to expect to do for sort of advanced IBC interactions, I guess, ICA interactions.

37
00:07:12,560 --> 00:07:26,560
Can I take us on topic and go deeper on that? Just, I mean, completely off topic right off the bat. So the ICA piece, can there be chains in between those two endpoints? Or is it always one to one?

38
00:07:26,560 --> 00:07:28,560
It's always a controller chain and a host chain.

39
00:07:28,560 --> 00:07:42,560
And there's nothing in between, right? Like there can't be a, there can't be a, there's no other, the reason I'm asking this, one thing that came up a lot was that consensus, which we'll talk about a little bit is there's a lot of conversation on the cosmos discussion around the role of the hub, right?

40
00:07:42,560 --> 00:07:55,560
And the idea right now that this is very mesh based, but as we grow from 60 chains in osmosis to 250 or to 30,000, and then the hub idea is going to come back and maybe it's one hub or maybe there's multiple hubs and blah, blah, blah, blah, blah.

41
00:07:55,560 --> 00:08:04,560
And interchange account seems to be an item that would delay that more than enable it, right? Because you kind of need that.

42
00:08:04,560 --> 00:08:07,560
I think that'll try to plan things further. Yeah.

43
00:08:07,560 --> 00:08:28,560
It does. However, I suppose the way I was kind of thinking about it the other day is that if you have a chain like Juno, it works very well for because there's this idea that you can build a thing on Juno, get product market fit off your crack, make your own chain.

44
00:08:28,560 --> 00:08:47,560
In that model, it makes a lot of sense to deploy your application on Juno have literally a smart contract, say a registry for from Juno's perspective, let's say here are the IBC channels that matter or here are the coin denominations that actually map to these human readable representations of them, whatever,

45
00:08:47,560 --> 00:09:02,560
because obviously the IBC denom is different on every chain or whatever. But there are probably ways, as soon as you can start interacting with smart contracts on a smart contract chain, where you can say, okay, well, from our point of view, right,

46
00:09:02,560 --> 00:09:09,560
from this chain, addressability looks like this. Here are the things we care about and here are what they're called.

47
00:09:09,560 --> 00:09:19,560
And then from another chain, you can kind of decide, well, which chain is the canonical chain that we sort of care about from that perspective, I guess.

48
00:09:19,560 --> 00:09:36,560
So I think it doesn't, like you say, it doesn't say like, oh, we just stick that on the hub and we're done. But it does mean that people can decide potentially which host chain they want to use for saying what the source of truth is on a given thing that might be fragmented.

49
00:09:36,560 --> 00:09:47,560
The one that jumps into my head is IBC denoms, but that's actually not really, is that a problem that anybody's having? I'm not sure it is, but, and it's just a thing that jumps into my head as different on every chain, you know.

50
00:09:47,560 --> 00:09:50,560
Can multiple chains be a controller chain to another one?

51
00:09:50,560 --> 00:09:52,560
Yeah.

52
00:09:52,560 --> 00:09:53,560
Yeah.

53
00:09:53,560 --> 00:09:57,560
So it's kind of scoped to the interaction.

54
00:09:57,560 --> 00:10:11,560
So that's the right place conditions where one chain kind of issues a command that another chain does very, it's very similar time and have you kind of merged together those two actions and

55
00:10:11,560 --> 00:10:17,560
Well, indeed. I mean, so a lot of that is actually controlled by the authentication controller.

56
00:10:17,560 --> 00:10:33,560
So it's, yeah, I've, I don't fully understand every bit about the mechanism. I'll be lying. I would be actually quite surprised if anybody outside of the folks implemented our ICA, the ICA spec fully understand that but that is the role of the

57
00:10:33,560 --> 00:10:52,560
essentially the authentication piece, but then also the fact that any instruction and transaction you submit is going to be part of a block. So then all of the usual guarantees of validity on the, maybe it's right, host chain apply,

58
00:10:52,560 --> 00:11:04,560
because obviously that's all the part of the anti handler and the keeper in the cosmos SDK of saying like, well, is this actually a valid inclusion in the block which and that validation has to be run before it can be included.

59
00:11:04,560 --> 00:11:21,560
So that there, you know, conceivably is a type of zero day that somebody hasn't ever thought of because of the context, but if certainly I guess at the native level, all of the interaction with with the native SDK modules

60
00:11:21,560 --> 00:11:35,560
should be covered, I guess by the existing data validations that govern block, the govern transaction inclusion in the block. I think, but I'm not an expert on that on that mechanism so

61
00:11:35,560 --> 00:11:41,560
I'm the leader of technology right you know I mean you really sound like an expert so

62
00:11:41,560 --> 00:11:53,560
that's all I'm going to write. And please no more no more zero day discoveries on game and notes let's try to keep that to a bare minimum. Yeah, I think the thing I guess the thing that sort of

63
00:11:53,560 --> 00:12:01,560
worries me is like because we've we've gone through the whole cosmogonance and getting to 1.0 fun time and

64
00:12:01,560 --> 00:12:19,560
during that audit process there are a couple of minor things and there were a couple of actual zero days and the ICA piece is quite complex and there's also things you can interact with like individual modules that chains will implement that aren't part of the

65
00:12:19,560 --> 00:12:37,560
kind of core set of modules that every chain has like bank like staking distribution etc. So if you expose that functionality to control the chains there's probably like your attack surface is it suddenly gets much bigger and much more complex.

66
00:12:37,560 --> 00:12:50,560
So, although in principle my understanding is it shouldn't get any more complicated because the modules are modules and they're governed by the same security model as the rest of cosmos.

67
00:12:50,560 --> 00:13:03,560
Like I say like I've been surprised by security vulnerabilities before so I'm not going to I'm not going to say oh yeah it's totally secure so that you can clip two seconds of it when it turns out to not be secure, you know.

68
00:13:03,560 --> 00:13:08,560
So that in an actual I guess why we're taking our time with it.

69
00:13:08,560 --> 00:13:24,560
But it's I think it's also a case of actually just having to read a lot of the source code and really understand what it's doing before we're we're sure whether we have like I say like kind of additional criteria for the authentication piece that we weren't aware of.

70
00:13:24,560 --> 00:13:36,560
Because it is like, like a lot of things in cosmos it sort of described in a couple of blog posts and then after that is read the source code so it escalates very quickly from you want your interest in this thing.

71
00:13:36,560 --> 00:13:38,560
You might want to implement it.

72
00:13:38,560 --> 00:13:57,560
Read the source code. So there is there are to be fair there are a couple of pages of docs actually embed in the source as well on how the ICA controller and off bit works so I'm being a little bit unfair. But I'm not going to pretend I fully understand it and I'm not comfortable with things I don't fully understand.

73
00:13:57,560 --> 00:14:04,560
So that's why I'm putting the brakes on it and I think Jaby is is similar, I guess.

74
00:14:04,560 --> 00:14:15,560
Cool. So just reading what pop monsters put down on here so he's saying, IBC denoms are an issue in his experience.

75
00:14:15,560 --> 00:14:30,560
So he's saying that there's a module called coin metadata module that might address that have any of you guys heard of that module I haven't heard of that one yet.

76
00:14:30,560 --> 00:14:49,560
I've not heard of that but I have. I have, I think as I just said there, I figured that there is a five minute implementation of a smart contract that can live on a host chain that interprets what an IBC denom is from the point of view of the chain into something that a human can read.

77
00:14:49,560 --> 00:15:01,560
I even actually is on my pad somewhere like if you have a little bit of time, investigate this but you have put my story down that that would be cool. That would save us all some time.

78
00:15:01,560 --> 00:15:09,560
Well, I think he's saying that there is maybe a module that's in the works potentially I guess for Cosmos SDK.

79
00:15:09,560 --> 00:15:13,560
Well, actually said both are in the work so chain name service.

80
00:15:13,560 --> 00:15:17,560
So yeah, I heard of that. That's Jack, isn't it?

81
00:15:17,560 --> 00:15:19,560
I don't know.

82
00:15:19,560 --> 00:15:29,560
So there is a working spec for a coin metadata and chain name service data format in the chain registry.

83
00:15:29,560 --> 00:15:34,560
Okay, so maybe who maintains the chain registry that's on the Cosmos.

84
00:15:34,560 --> 00:15:36,560
That Cosmos Hub? I think it's Cosmos Hub.

85
00:15:36,560 --> 00:15:39,560
Yeah.

86
00:15:39,560 --> 00:15:47,560
Yeah, that would make sense. But I guess the question is again, where is that going to live on the hub?

87
00:15:47,560 --> 00:15:56,560
Every chain is going to end up deploying it because that's sort of what every chain ends up doing and then you're kind of back to the who you trusting argument.

88
00:15:56,560 --> 00:15:59,560
Not denying it is useful for developers.

89
00:15:59,560 --> 00:16:05,560
The denoms are a real pain in the ass on Cosmos really.

90
00:16:05,560 --> 00:16:14,560
Unless everything goes back to their host chain. And yeah, I can see that being a problem across the ICA for sure.

91
00:16:14,560 --> 00:16:22,560
Unless you can deduplicate properly that this is the same denom as this denom, then you are kind of fucked as a user.

92
00:16:22,560 --> 00:16:34,560
And actually as a developer like Popmos just alluded to, like if you're trying to do complex defy things where you don't know where the tokens have come to you from, that is potentially an issue.

93
00:16:34,560 --> 00:16:44,560
Was there any talk later on during consensus about like Terra2 and where it's going and if it's a massive road from Terra2?

94
00:16:44,560 --> 00:16:52,560
I don't really hear any conversations about it. I don't know if that's different from you, but there weren't any talks.

95
00:16:52,560 --> 00:16:53,560
Yeah.

96
00:16:53,560 --> 00:17:01,560
Not a thing. The only other stablecoin conversation I really heard anything about was the IST thing with the gorg.

97
00:17:01,560 --> 00:17:15,560
That's the only thing that really came up is Dean was up there and he was on stage talking about that, which maybe we could talk about a future day or something similar to that, but I'm trying to talk about why that's a good idea.

98
00:17:15,560 --> 00:17:28,560
So, well, I mean, if we're done with consensus talk, maybe we could talk a little bit about stablecoins unless we had something else already on the list to move on to, guys.

99
00:17:28,560 --> 00:17:37,560
Because there has been talk around the place about bringing new...

100
00:17:37,560 --> 00:17:41,560
I think Frida and I are both chopping up the bit that bring up a specific topic that we want to talk about.

101
00:17:41,560 --> 00:17:44,560
I'll go for it. I'll bring this shit up later.

102
00:17:44,560 --> 00:17:54,560
Yeah. I mean, I think we're both looking at the same spreadsheet that you always doggedly refuse to actually open.

103
00:17:54,560 --> 00:18:00,560
Well, I mean, I'm looking at the bit that's in all bold that says topic of the week. No.

104
00:18:00,560 --> 00:18:03,560
I know you said that as well.

105
00:18:03,560 --> 00:18:08,560
Yeah. The man joined us from New Zealand. Come on.

106
00:18:08,560 --> 00:18:10,560
New Zealand's miles away.

107
00:18:10,560 --> 00:18:16,560
It's like 13 hours from us. I mean, it's like an hour from you. I mean, it's a very, very long way away.

108
00:18:16,560 --> 00:18:19,560
That's okay. We have good experience. It's fine.

109
00:18:19,560 --> 00:18:27,560
Why are you chopping and jumping around this spreadsheet? You've gone straight to the bottom and now you're going back up.

110
00:18:27,560 --> 00:18:37,560
Well, it sends the stuff, obviously. It's an extraordinary addition to the spreadsheet now, which we actually did discuss before you joined in the pre-show.

111
00:18:37,560 --> 00:18:44,560
We were going to cut it a little differently. So it's all about you snooze you lose, I think, on this one.

112
00:18:44,560 --> 00:18:50,560
Well, I think if you're going down a list and you skip shit, you skip it. It's done.

113
00:18:50,560 --> 00:18:53,560
It's done. We can't ever talk about it.

114
00:18:53,560 --> 00:18:55,560
It's about the civil engineer here. It's just like...

115
00:18:55,560 --> 00:19:04,560
You just do everything without any kind of certification, without any kind of real engineering now,

116
00:19:04,560 --> 00:19:08,560
without any understanding of how to put up a good old-fashioned bridge.

117
00:19:08,560 --> 00:19:14,560
It's an O-L ordered list, fucking in an order.

118
00:19:14,560 --> 00:19:17,560
I copied it to the bottom of the list, so now it's back on the list.

119
00:19:17,560 --> 00:19:21,560
Well, that's okay. It's practically a new item then.

120
00:19:21,560 --> 00:19:25,560
All right.

121
00:19:25,560 --> 00:19:33,560
So, with that little rebellion out of your system, are you happy to continue with the podcast?

122
00:19:33,560 --> 00:19:37,560
Sure. My internet's working much better now. Thank you for...

123
00:19:37,560 --> 00:19:40,560
Yes, actually.

124
00:19:40,560 --> 00:19:46,560
So, James, I was kind of interested. Obviously, we've talked a little bit about some of these myriad,

125
00:19:46,560 --> 00:19:55,560
infinitely regressive telegram groups that have been, I think, absorbing the life force of most of the core Gino team

126
00:19:55,560 --> 00:19:58,560
for the last few weeks.

127
00:19:58,560 --> 00:20:03,560
So, Kevin's another friend over the show, if you like.

128
00:20:03,560 --> 00:20:08,560
We were sort of saying, because it's absolutely impossible, even if you're inside the process,

129
00:20:08,560 --> 00:20:10,560
to keep track of what's actually going on.

130
00:20:10,560 --> 00:20:16,560
When it's all kind of said and done, we need to basically just get Kevin with a town crier outfit on and a bell,

131
00:20:16,560 --> 00:20:19,560
and just be like, here you hear you.

132
00:20:19,560 --> 00:20:24,560
Here's the list of protocols that are joining, and then just read them all off at the top of the show.

133
00:20:24,560 --> 00:20:26,560
And then we can go, right, there we go. That's piece of news done.

134
00:20:26,560 --> 00:20:30,560
Now everybody's on the same page. All right, cool. Right. Let's move on.

135
00:20:30,560 --> 00:20:38,560
But obviously, I hadn't honestly heard much about subquery before we started talking to Terra projects,

136
00:20:38,560 --> 00:20:45,560
but it was pretty much the first thing that most start saying to us is, do you have to, very good,

137
00:20:45,560 --> 00:20:52,560
do you have any deployment of subquery or working examples for running on Gino?

138
00:20:52,560 --> 00:20:56,560
Are you in touch with the subquery team? And obviously, very quickly, that came to pass.

139
00:20:56,560 --> 00:21:01,560
But from somebody who didn't know much about the organizational solution,

140
00:21:01,560 --> 00:21:04,560
I'm kind of just also interested in the background of the organization.

141
00:21:04,560 --> 00:21:09,560
I have a background in RDF of all things, right, link data.

142
00:21:09,560 --> 00:21:13,560
So the dorkiest, arguably most dead end of all Web 2 technologies,

143
00:21:13,560 --> 00:21:16,560
but that's why I care about addressability and stuff.

144
00:21:16,560 --> 00:21:20,560
So I'm kind of wondering how you guys settled on indexing and stuff,

145
00:21:20,560 --> 00:21:27,560
and what was the history of subquery and how you chose this as your niche to sort of work in?

146
00:21:27,560 --> 00:21:30,560
Yeah, we were doing infrastructure stuff.

147
00:21:30,560 --> 00:21:35,560
So our origins from the poker ecosystem, and we were doing some infrastructure stuff for them.

148
00:21:35,560 --> 00:21:41,560
You know, poker and cosmos, very similar in terms of the outcome that we're trying to achieve.

149
00:21:41,560 --> 00:21:46,560
We're going about it different ways, but the outcome is the same, which is this multi-chain universe

150
00:21:46,560 --> 00:21:50,560
where everyone's got freedom to kind of build their own application chains that talk for each other

151
00:21:50,560 --> 00:21:54,560
and communicate well, and they're interoperable, right? It's the same outcome.

152
00:21:54,560 --> 00:21:58,560
We were doing a lot of infrastructure work for a lot of teams that were building in that ACQ system,

153
00:21:58,560 --> 00:22:01,560
and they kept asking us about indexing, right?

154
00:22:01,560 --> 00:22:03,560
If you want to build an application, you need indexing,

155
00:22:03,560 --> 00:22:06,560
and for those that are listening that don't know what indexing means,

156
00:22:06,560 --> 00:22:11,560
this is another buzzword that you have no idea what means in the outcome.

157
00:22:11,560 --> 00:22:14,560
Indexing is very simple, right? So a blockchain is a linked list.

158
00:22:14,560 --> 00:22:18,560
It's a glorified linked list, and for those that don't know linked list, it's like a book of pages.

159
00:22:18,560 --> 00:22:24,560
Every, you know, 10 seconds, a new page is written to the book, which includes what happened in the last 10 seconds.

160
00:22:24,560 --> 00:22:30,560
And if you can imagine trying to convert a book into like a something that you can build an application of,

161
00:22:30,560 --> 00:22:35,560
like, for example, just getting the last of the transaction history of my account.

162
00:22:35,560 --> 00:22:41,560
If that's recorded in a book, you have to kind of go through each and every page looking for transactions to or from your account.

163
00:22:41,560 --> 00:22:47,560
It's the most inefficient way to query data, and that's one of the biggest problems of blockchains.

164
00:22:47,560 --> 00:22:55,560
It's a great way to store data in an immutable way, but it is a terrible way to have that data accessible.

165
00:22:55,560 --> 00:23:01,560
Accessible so you can build brand new depths off it, so you can use that in other platforms or ecosystems,

166
00:23:01,560 --> 00:23:03,560
so you can kind of interact with that data.

167
00:23:03,560 --> 00:23:09,560
And if you want to build a new application, it's easy to use, you need access to data. It is critical.

168
00:23:09,560 --> 00:23:14,560
So subqueries are data indexer, very similar to what the graph does on Ethereum.

169
00:23:14,560 --> 00:23:20,560
We've started Polkadot and we're working our way through the non-East chains that allows you to,

170
00:23:20,560 --> 00:23:25,560
in your own way, for your own application, index data from the blockchain.

171
00:23:25,560 --> 00:23:30,560
So when a new block is added, we will go through that block and we'll pull off exactly what you want,

172
00:23:30,560 --> 00:23:37,560
convert it to a format that is exactly what you need, and then allow you to then query that data using a language called GraphQL.

173
00:23:37,560 --> 00:23:42,560
The outcome of building a subquerie project, which takes a very simple process,

174
00:23:42,560 --> 00:23:50,560
means that you have a brand new API specifically built for your application that has exactly the data that you need,

175
00:23:50,560 --> 00:23:54,560
and it's much, much faster and more efficient than querying the database.

176
00:23:54,560 --> 00:24:00,560
It allows you to build better applications that are more user-friendly, more intuitive, faster.

177
00:24:00,560 --> 00:24:09,560
And the background to how we got to Cosmos is a bit of a windy path. We announced support for the Tera ecosystem a week before it all collapsed.

178
00:24:09,560 --> 00:24:16,560
So perfect timing, the kings are perfect timing, but we're working with many of the teams in the Tera ecosystem,

179
00:24:16,560 --> 00:24:21,560
and many of those teams, and the ecosystem we talked about between you or 30 of them, all very friendly.

180
00:24:21,560 --> 00:24:29,560
And as a side note, one of the things I really love about Tera, or the Tera teams, is that your whole ecosystem collapsed.

181
00:24:29,560 --> 00:24:33,560
Your reserves are all lost because most of those teams are in UST.

182
00:24:33,560 --> 00:24:38,560
And most of those teams, the next day, weren't saying, you know, maybe blockchain is not for me.

183
00:24:38,560 --> 00:24:42,560
They were saying, where am I building next? Where should I go and do this again?

184
00:24:42,560 --> 00:24:47,560
You know, I still believe in this idea, where am I going to build that application I was building in Tera?

185
00:24:47,560 --> 00:24:48,560
Where am I going to build that next?

186
00:24:48,560 --> 00:24:58,560
And one of the ecosystem teams in Cosmos, Juno, was very efficient at reaching out to a lot of these Tera teams,

187
00:24:58,560 --> 00:25:09,560
sitting up the Tera Development Fund, to which we're a party of, or a recipient of, and bringing these teams into the warm bosom of Juno.

188
00:25:09,560 --> 00:25:13,560
So that's kind of how we got here, right?

189
00:25:13,560 --> 00:25:18,560
But we support Polkadot, we support Avalanche, we support Cosmos.

190
00:25:18,560 --> 00:25:23,560
We started with Juno, we've tested Juno, but we believe it works with any Cosmos and chains.

191
00:25:23,560 --> 00:25:24,560
So we're on the same page.

192
00:25:24,560 --> 00:25:26,560
So you're where we start A's and...

193
00:25:26,560 --> 00:25:35,560
Yeah, Algorik and we're going to talk to, yeah, Osmosis as well, even the Cosmos Hub we've tested on.

194
00:25:35,560 --> 00:25:40,560
So now it's just a challenge of going and talking to all these teams and making sure it works well.

195
00:25:40,560 --> 00:25:42,560
But that's the background to what we do.

196
00:25:42,560 --> 00:25:49,560
But all these, you know, Tera teams that are coming over, and even the teams that are building on Juno and on other chains,

197
00:25:49,560 --> 00:25:53,560
we just provide that developer tool that makes life easier.

198
00:25:53,560 --> 00:26:02,560
So essentially, again, for people listening, well, I guess we have enough technical people that probably this won't come as a surprise.

199
00:26:02,560 --> 00:26:06,560
But just to clarify, the indexing side is primarily the query end, isn't it?

200
00:26:06,560 --> 00:26:10,560
So you're writing to the blockchain.

201
00:26:10,560 --> 00:26:16,560
If you worked with the traditional, the way I was explaining, if you worked with the traditional web application,

202
00:26:16,560 --> 00:26:20,560
you have some kind of database interaction layer, and then there's a database.

203
00:26:20,560 --> 00:26:25,560
That interaction layer is usually some kind of abstraction like a line of business logic app,

204
00:26:25,560 --> 00:26:31,560
or, you know, back when I first started, it would be like a PHP or a Rails app or something like that.

205
00:26:31,560 --> 00:26:37,560
And then a database driver and then probably Postgres or something.

206
00:26:37,560 --> 00:26:41,560
And then all you're really doing is orchestrating reads and writes.

207
00:26:41,560 --> 00:26:47,560
But in the blockchain world, we're sort of sending writes down to the blockchain,

208
00:26:47,560 --> 00:26:51,560
and then we're bringing up reads through an indexer.

209
00:26:51,560 --> 00:27:00,560
So the most you know projects, for example, will be hitting a core chain RPC for live data constantly,

210
00:27:00,560 --> 00:27:03,560
and doing a lot of filtering on the front end.

211
00:27:03,560 --> 00:27:06,560
And that can get pretty complex.

212
00:27:06,560 --> 00:27:12,560
Some regulars of the show will know that, yeah, so like this is something that regulars of the show know,

213
00:27:12,560 --> 00:27:18,560
I'm working on a social protocol with some other people, we're in private alpha at the moment,

214
00:27:18,560 --> 00:27:22,560
and we're totally fine on performance because it's a private alpha.

215
00:27:22,560 --> 00:27:27,560
But one of our principal concerns was, you know, are we going to have to build our own indexer?

216
00:27:27,560 --> 00:27:34,560
So, you know, selfishly, we're really happy that Subquery have appeared on the scene because

217
00:27:34,560 --> 00:27:39,560
an indexer is not something that you just lightly sort of get up one morning and you go, like to build a...

218
00:27:39,560 --> 00:27:45,560
But that's what most teams have had to do, right? And every time we enter an ecosystem, there's no provider like us.

219
00:27:45,560 --> 00:27:53,560
It's like all these teams have built their own wheel, you know, from scratch, and it's just like, it's a shame.

220
00:27:53,560 --> 00:27:57,560
But we're doing a lot of work to add support for as many different chains.

221
00:27:57,560 --> 00:28:03,560
And one of the big opportunities for us is a lot of the teams are thinking about other chains outside of, you know,

222
00:28:03,560 --> 00:28:10,560
Cosmos, even, right? And, you know, being in Cosmos, you guys, you know,

223
00:28:10,560 --> 00:28:18,560
I assume everybody believes that multi-chain interoperability will drive the next kind of adoption uptake of blockchain

224
00:28:18,560 --> 00:28:23,560
or make our lives easier or make consumers' lives easier in terms of the assets that they have.

225
00:28:23,560 --> 00:28:30,560
And so if we all believe that, then we certainly need these tools that make it easier for people to build applications

226
00:28:30,560 --> 00:28:35,560
on different chains in and outside of Cosmos.

227
00:28:35,560 --> 00:28:41,560
So we've got... We've had a few questions in the chat. That microphone arm is amazing.

228
00:28:41,560 --> 00:28:47,560
I would like to know which one it is. Nice one. Usurper has responded with that. It's a road one.

229
00:28:47,560 --> 00:28:54,560
But we've got also a couple for James. So Puttmas has asked, could you discuss a little bit more

230
00:28:54,560 --> 00:29:02,560
how subquery and mantelment differ from or complement one another, which obviously that might also need a bit of background

231
00:29:02,560 --> 00:29:09,560
for folks who are maybe more in the Cosmos ecosystem as to what mantelment actually is as well.

232
00:29:09,560 --> 00:29:18,560
Yeah. So I'm no expert on this. My mind is saying a mantelment is a much more organized and efficient node.

233
00:29:18,560 --> 00:29:29,560
So it was built by the Territimer, if I'm not wrong. And essentially it's a kind of layer on top of the core

234
00:29:29,560 --> 00:29:36,560
non-parooned archive node that makes it a lot more efficient to query. We actually use mantelment nodes.

235
00:29:36,560 --> 00:29:41,560
So the difference between us and mantelment is mantelment is kind of like an off-the-shelf API.

236
00:29:41,560 --> 00:29:47,560
You can't really change an API. It has certain API definition that you have to accept

237
00:29:47,560 --> 00:29:54,560
and that might work for you, but for most people it doesn't. If you're building your own custom app using your own smart contract,

238
00:29:54,560 --> 00:30:01,560
you need certain endpoints, API endpoints that are custom to your product. And that's where the subquery piece comes in.

239
00:30:01,560 --> 00:30:10,560
So it's really about converting this kind of common blockchain structure to a structure that is completely custom to your application.

240
00:30:10,560 --> 00:30:18,560
So that may mean that if you're building an NFT marketplace, all I care about is the NFTs that I've minted,

241
00:30:18,560 --> 00:30:24,560
who currently owns them, what the transaction history with those NFTs were, and what the floor price is of this collection, right?

242
00:30:24,560 --> 00:30:32,560
And you can build APIs that give you those pieces of data in a much more efficient way than you can calculating that dynamically in the front end.

243
00:30:32,560 --> 00:30:40,560
Because you can't ask the blockchain what are the transaction history of this NFT. That's not a question that you can do a mantelment.

244
00:30:40,560 --> 00:30:47,560
That's like historic data and you can't really ask that in a mantelment endpoint.

245
00:30:47,560 --> 00:30:53,560
So I have some questions, the fray, if I may.

246
00:30:53,560 --> 00:31:01,560
So obviously there's the graph as well that's doing something similar to you guys.

247
00:31:01,560 --> 00:31:11,560
So I have a question that's more around trust and integrity of data.

248
00:31:11,560 --> 00:31:25,560
Because at the moment, for example, like basically everybody in the cosmos relies on the integrity of Cosmos station to provide accurate data in Mint's Android.

249
00:31:25,560 --> 00:31:33,560
So there's no one checking that. That is basically they're indexing and putting it into their database and they're reading from their database.

250
00:31:33,560 --> 00:31:41,560
And that's why we can have historical data from chains that have done like hard forks and stuff like that.

251
00:31:41,560 --> 00:31:48,560
But inherently, everybody is basically required to trust that data that they're serving up.

252
00:31:48,560 --> 00:32:01,560
So how like are there any checks and balances like that are able to be implemented in the sub query or how does it, you know, prove the integrity of data?

253
00:32:01,560 --> 00:32:04,560
We can be thinking about this all the time now.

254
00:32:04,560 --> 00:32:09,560
And so we provide it like a centralized hosting services for our customers.

255
00:32:09,560 --> 00:32:18,560
Most of the wallets explorers and polka dot user, we're doing like 400 million API calls per day through it.

256
00:32:18,560 --> 00:32:22,560
So, you know, we do a lot there, but you're absolutely right.

257
00:32:22,560 --> 00:32:25,560
It's a centralized service that's trusting us that we're going to get it wrong.

258
00:32:25,560 --> 00:32:30,560
And I guess it's a reputational sacrifice if we violate that.

259
00:32:30,560 --> 00:32:36,560
But correct, you know, it is a trust nonetheless.

260
00:32:36,560 --> 00:32:39,560
So we're building a decentralized network very similar to what the graph's doing.

261
00:32:39,560 --> 00:32:48,560
The difference between us and what the graph's doing is the graph's decentralized network only supports their Ethereum projects and doesn't support projects on the other chains that they support.

262
00:32:48,560 --> 00:32:49,560
Sub query.

263
00:32:49,560 --> 00:32:55,560
The graph have started doing Juno.

264
00:32:55,560 --> 00:32:58,560
They've started working on Juno and they've started working in Cosmos Hub.

265
00:32:58,560 --> 00:33:01,560
And we're kind of in the avalanche space with them.

266
00:33:01,560 --> 00:33:04,560
We just entered that a couple of months ago.

267
00:33:04,560 --> 00:33:11,560
There are some complaints about the graph treating these new chains as like a second class citizen.

268
00:33:11,560 --> 00:33:13,560
You don't really get the support.

269
00:33:13,560 --> 00:33:16,560
You don't get the full functionality of the graph.

270
00:33:16,560 --> 00:33:20,560
They kind of focus on their Ethereum customers primarily.

271
00:33:20,560 --> 00:33:22,560
We're trying to be a bit different about that.

272
00:33:22,560 --> 00:33:27,560
But your point around data validation, so sub-group project can be open source.

273
00:33:27,560 --> 00:33:32,560
We try to make it so without you kind of doing something crazy,

274
00:33:32,560 --> 00:33:35,560
that sub-group project will be deterministic as much as possible.

275
00:33:35,560 --> 00:33:42,560
And you have to like turn a flag off to say this is not safe anymore when you disable that deterministicness.

276
00:33:42,560 --> 00:33:51,560
If it's deterministic, that means you two parties can, you can't verify automatically that the data's correct inside of a single project.

277
00:33:51,560 --> 00:33:54,560
There's like too many mutations that might happen.

278
00:33:54,560 --> 00:33:59,560
But you can quickly verify and we're built in the proof of indexing.

279
00:33:59,560 --> 00:34:05,560
We call proof of indexing which is you can compare two different independent providers to that same data.

280
00:34:05,560 --> 00:34:12,560
And through you know, Miracle Mountain Ranges, you can compare and confirm that they are exactly consistent in terms of the data that they're providing.

281
00:34:12,560 --> 00:34:17,560
So in this starting collusion, the data is valid across those two.

282
00:34:17,560 --> 00:34:21,560
And we have that inbuilt and that is kind of critical to our decentralized network.

283
00:34:21,560 --> 00:34:31,560
So for you to become a data provider for our decentralized network, your hashes, your, your data must be completely consistent with everyone else.

284
00:34:31,560 --> 00:34:33,560
Otherwise, there's something going wrong here.

285
00:34:33,560 --> 00:34:34,560
It's something strange.

286
00:34:34,560 --> 00:34:36,560
So theoretically, right?

287
00:34:36,560 --> 00:34:45,560
So say, you know, there's sub-query main nodes doing that, you know, for 400 million queries a day.

288
00:34:45,560 --> 00:34:59,560
So there could be, you know, say from each network, there could be two or three other providers, even if they're not even serving, you know, data to customers, for example, they're just as an integrity check.

289
00:34:59,560 --> 00:35:14,560
So say, save King nodes ran their own sub-query servers and did their own indexing and then basically had a publicly viewable cross check with the main sub-query data.

290
00:35:14,560 --> 00:35:20,560
So you could establish trust by multiple providers, at least, who are, you know, trust the people in the source.

291
00:35:20,560 --> 00:35:22,560
You can run it yourself and it's fine.

292
00:35:22,560 --> 00:35:26,560
And then, but we're trying to go a bit further with that far decentralized network.

293
00:35:26,560 --> 00:35:28,560
It's less so that we're running the servers.

294
00:35:28,560 --> 00:35:34,560
It's more so that anyone can run the servers, anyone can run indexes and they can index that data and sell that on the marketplace.

295
00:35:34,560 --> 00:35:35,560
Okay.

296
00:35:35,560 --> 00:35:43,560
So the vision here is that rather than just we run all the infrastructure and you guys do some checks, you can run the indexes.

297
00:35:43,560 --> 00:35:49,560
Just like you run validators for these networks and you can earn rewards for that data that you sell to the marketplace.

298
00:35:49,560 --> 00:36:00,560
So if MintScan wanted to decentralize its infrastructure, it could create all these sub-query projects that provide that data to their front end.

299
00:36:00,560 --> 00:36:11,560
And anyone, any validator, any individual could run that project themselves and the network kind of proxies those off and rewards the indexes for what they do.

300
00:36:11,560 --> 00:36:25,560
Is there any plan to like have a like implement a way to automatically, well, I mean, you've got the, so you've got your marketplace, right?

301
00:36:25,560 --> 00:36:34,560
Would it be possible to have sort of like single endpoints that distributes queries to, you know, a network?

302
00:36:34,560 --> 00:36:41,560
And so you get performance on that, right? Because this is a read-only database. It's a content delivery network. It's a CDN.

303
00:36:41,560 --> 00:36:49,560
And, you know, if you're serving web pages from the internet, it means that web page is probably located in a data center closest to you.

304
00:36:49,560 --> 00:36:54,560
So the more indexes, the more performance you get because read-only operations.

305
00:36:54,560 --> 00:36:59,560
And so the more indexes we create, you know, that that's the outcome that we're trying to push for.

306
00:36:59,560 --> 00:37:07,560
That's the outcome that we're trying to incentivize. And we're trying to incentivize, you know, you can run, you know, now you can run your own index or an Outback Australia.

307
00:37:07,560 --> 00:37:13,560
And it means that millions of people in the Outback that want that data will get it from you.

308
00:37:13,560 --> 00:37:19,560
The three K's and the paddock and the fucking sheep across that great access to, you know.

309
00:37:19,560 --> 00:37:38,560
So, I mean, I'm impressed with that. That's exciting to me because one of the, you know, it's always been a gripe of mine that I think about, not talk about, is just that, you know, we rely so much, for example, on min scan.

310
00:37:38,560 --> 00:37:43,560
And if this is like an evolution of indexing, then in my book, that's pretty exciting.

311
00:37:43,560 --> 00:37:53,560
And we're working with like from Polkadot, there is an example, a similar version of min scan that dominates the space and everyone has to use because other tour the other knows.

312
00:37:53,560 --> 00:38:00,560
And we're working with a person to actually build like an open source version of min scan that is built in a sub project.

313
00:38:00,560 --> 00:38:12,560
So you can kind of, you can democratize that public good, which is the index, which is, you know, it's critical, also the explorer, you know, it's a critical piece of infrastructure on any chain.

314
00:38:12,560 --> 00:38:19,560
And it means more chains get launched, min scans backlog is going to get bigger.

315
00:38:19,560 --> 00:38:27,560
Maybe there should be an open source alternative where the tend themselves committed it with some minimal, you know, alterations.

316
00:38:27,560 --> 00:38:41,560
So I think, like for for bold did build a an explorer that is more or less open source and you can you can run it and then it, you know, integrate it into the list and stuff like that.

317
00:38:41,560 --> 00:38:44,560
But that's completely other topic.

318
00:38:44,560 --> 00:38:57,560
But so back on sub query, I wanted to ask you, obviously, when people build their own contracts and have their own message types and stuff in their own contracts, it's reasonably bespoke.

319
00:38:57,560 --> 00:39:02,560
And obviously, sub query is not going to have.

320
00:39:02,560 --> 00:39:11,560
Well, in my mind, sub query is not going to have the native ability to crawl subcontract contracts.

321
00:39:11,560 --> 00:39:13,560
It does.

322
00:39:13,560 --> 00:39:16,560
So you can.

323
00:39:16,560 --> 00:39:23,560
So when the contracts up, it can, it can query that contract determine the messages and then decode basically.

324
00:39:23,560 --> 00:39:27,560
We have, we have various different types of like so what we call like trigger points.

325
00:39:27,560 --> 00:39:33,560
They're called mapping handlers, but I look at them as like trigger points and so your basic one is like a block trigger to every block that's added.

326
00:39:33,560 --> 00:39:39,560
We do something very simple, but very brute force, but we have more advanced ones like for cosmos.

327
00:39:39,560 --> 00:39:40,560
We have like a transaction.

328
00:39:40,560 --> 00:39:42,560
We have tons of transaction happens.

329
00:39:42,560 --> 00:39:44,560
We do something, but even better.

330
00:39:44,560 --> 00:39:47,560
Every time a log is received.

331
00:39:47,560 --> 00:39:53,560
So or a message is received that filter that that fits a certain like topic.

332
00:39:53,560 --> 00:40:00,560
You know, when you like define topics and you trigger logs or events from those, we can filter down to those.

333
00:40:00,560 --> 00:40:05,560
You can like put them the filter of what exactly you're looking for, which means that you can write the flight.

334
00:40:05,560 --> 00:40:15,560
Like I did an example project which tracks all the vote events for the smart contract that is related to the Terra developer fund.

335
00:40:15,560 --> 00:40:28,560
So my project that's running has index every single vote made on any, any one of those Terra development fund proposals and lists, you know, the voter, the voting address.

336
00:40:28,560 --> 00:40:37,560
If they voted yes or no, what, what, what, you know, fund or proposal idea was on and the date and the block height that happened.

337
00:40:37,560 --> 00:40:49,560
And that was a very simple process because I can just filter just that smart contract into a certain events or that were related to that.

338
00:40:49,560 --> 00:41:01,560
So what is the, you know, breaking it down like to language for dummies like me with databases?

339
00:41:01,560 --> 00:41:05,560
What's the basic storage?

340
00:41:05,560 --> 00:41:08,560
We've spent decades optimizing databases.

341
00:41:08,560 --> 00:41:11,560
Like we've spent so long optimizing database.

342
00:41:11,560 --> 00:41:15,560
So in here, there's a Postgres database that holds data.

343
00:41:15,560 --> 00:41:21,560
Not what I was going to say, but preempting what I'm trying to spit out of my head.

344
00:41:21,560 --> 00:41:32,560
So the data storage, like, are you storing individual messages that you pull out or do you store like particular data from messages?

345
00:41:32,560 --> 00:41:42,560
Or, you know, are you creating like a list of transactions or are you creating like a list of messages and how is it stored and how is it broken up in sub query?

346
00:41:42,560 --> 00:41:46,560
And I don't know if that's like within the scope of our discussions today.

347
00:41:46,560 --> 00:41:50,560
It could be a little bit out there, but I'm interested nonetheless.

348
00:41:50,560 --> 00:41:51,560
No, that's fair enough.

349
00:41:51,560 --> 00:41:57,560
So think of a sub query project like a recipe and the recipe has a myth like it has ingredients.

350
00:41:57,560 --> 00:42:03,560
So for example, if your trigger point is on a certain event, that's your your ingredient.

351
00:42:03,560 --> 00:42:10,560
Okay, so I received the event and you define a very simple function that say I received a cosmos event.

352
00:42:10,560 --> 00:42:17,560
And all I do is for my one, for example, I will I just want certain things.

353
00:42:17,560 --> 00:42:21,560
I wanted to propose the idea, the vote, the voting address.

354
00:42:21,560 --> 00:42:28,560
So my TypeScript function, I just like pull that piece of data out and I save that as a new like JavaScript object or TypeScript object.

355
00:42:28,560 --> 00:42:33,560
Okay, so that TypeScript option object gets put into the database.

356
00:42:33,560 --> 00:42:35,560
So we don't save everything willy-nilly.

357
00:42:35,560 --> 00:42:41,560
We kind of you when you're creating your sub query project, you're defining the shape of your data that you want at the end.

358
00:42:41,560 --> 00:42:50,560
You're defining your trigger points and you're defining the mapping functions that take it from, you know, a cosmos event or a cosmos block and putting into the.

359
00:42:50,560 --> 00:42:53,560
The object that you want at the end of the day.

360
00:42:53,560 --> 00:42:58,560
So that's those three pieces, you know, the trigger points, the mapping function and the final result.

361
00:42:58,560 --> 00:43:02,560
Those are the three things you do when you create a sub query project and we do the rest.

362
00:43:02,560 --> 00:43:03,560
We set up the indexer.

363
00:43:03,560 --> 00:43:09,560
We do we kind of reliably index all blocks according to the rules and the method that you've defined.

364
00:43:09,560 --> 00:43:15,560
And we spin up a database and a process and a query endpoint that you can create that resolving data.

365
00:43:15,560 --> 00:43:21,560
Okay, so so basically, okay, I understand it better now.

366
00:43:21,560 --> 00:43:25,560
So a user will tell it what it wants.

367
00:43:25,560 --> 00:43:35,560
And then basically you then store bespoke tables related to what they've asked for from the base of data.

368
00:43:35,560 --> 00:43:39,560
Like, yeah, it makes sense in my head.

369
00:43:39,560 --> 00:43:50,560
So James, if that definition changes over time, if you if you is always from this point forward or I can point it out a, you know, an archive node and have it replay blocks and start re creating those other.

370
00:43:50,560 --> 00:43:57,560
It goes, it goes what a block you want to block one if you want, but I do know still has a block.

371
00:43:57,560 --> 00:43:59,560
300 something thousand.

372
00:43:59,560 --> 00:44:03,560
And does that does the future for every block up to now.

373
00:44:03,560 --> 00:44:05,560
And then as a box, we have updates.

374
00:44:05,560 --> 00:44:14,560
And then if I if I add another query, like if I'm if I want to be inspected a different area, I could just point it backwards is rebuild it back up and I build my new graphql structure off of that.

375
00:44:14,560 --> 00:44:15,560
That's pretty cool.

376
00:44:15,560 --> 00:44:20,560
So if you want to keep it determinants that you kind of have to go back and start again, because you know, you don't want things to.

377
00:44:20,560 --> 00:44:28,560
As I forgot how fast the re indexing but you know retain that determinism because again, that's critical.

378
00:44:28,560 --> 00:44:29,560
Sure.

379
00:44:29,560 --> 00:44:33,560
I can stick tricky, tricky challenge.

380
00:44:33,560 --> 00:44:51,560
So in terms of users then what kind of costs typically is it to like index a project say if you had a million blocks and then how is it paid for is is there like a sub query coin on it's open source.

381
00:44:51,560 --> 00:44:58,560
There will be a sub query token for the network and that's how you reward indexes for doing the work that they do to index that data.

382
00:44:58,560 --> 00:45:04,560
We're working out the payment methods are trying to figure out how to make it work so that you know end users don't have to pay for it.

383
00:45:04,560 --> 00:45:08,560
They kind of get sponsored by the application owner.

384
00:45:08,560 --> 00:45:14,560
But we also have a host service where we run a large amount of structure right now.

385
00:45:14,560 --> 00:45:19,560
And we have kind of we give it away for free from small customers just to get up and started.

386
00:45:19,560 --> 00:45:28,560
But we have you know arrangements with those big wallets or explorers that use millions of requests per day and have huge data sets.

387
00:45:28,560 --> 00:45:39,560
And that's you know we just kind of cover costs there but it's essentially open source and you know if you want to run it yourself if you want to start building with it and power you up off it you can do it without even talking to us.

388
00:45:39,560 --> 00:45:44,560
Kind of curious if you can run it on a cache actually that would be pretty cool.

389
00:45:44,560 --> 00:45:54,560
Like I kind of with all of that luxurious amount free time I have I'd love to have a go indexing June off and run it on the cache.

390
00:45:54,560 --> 00:45:55,560
Right.

391
00:45:55,560 --> 00:46:03,560
You know we're adding heaps of chain support but there's like so many different changing cause chains and cosmos that we don't really have the time to cut goes through and like test them with each.

392
00:46:03,560 --> 00:46:09,560
So we're really interested to hear from different chains from teams and different chains as it's working.

393
00:46:09,560 --> 00:46:26,560
I don't mean indexing a cache I mean in run an index node an indexing instance of sub query on a cache as a container because you know a cache is just a marketplace for compute on Cosmas right that you can access via IBC.

394
00:46:26,560 --> 00:46:32,560
So let's say let's say I'm building a social protocol because maybe I am.

395
00:46:32,560 --> 00:46:43,560
Maybe that's control bear Dow because maybe it is and maybe we want to run an index for some type of content that comes up in the service.

396
00:46:43,560 --> 00:46:55,560
You could conceivably run your own the Dow could run its own sub query instance on a cache and then pay for it in a KT via IBC straight out of the Dow Treasury.

397
00:46:55,560 --> 00:46:57,560
Which would be pretty cool.

398
00:46:57,560 --> 00:46:59,560
Would you buy over rice.

399
00:46:59,560 --> 00:47:09,560
Which you can buy what you can buy over IBC I think you need I see a for oh why you're talking about the thing you need the tokens first right in order to transact over IBC so.

400
00:47:09,560 --> 00:47:12,560
I'm talking about the wall at the wall at sport.

401
00:47:12,560 --> 00:47:14,560
Oh you're talking about the fancy fancy.

402
00:47:14,560 --> 00:47:16,560
Yeah that was really helpful.

403
00:47:16,560 --> 00:47:21,560
Yeah sorry I don't know why I just said fancy fancy like that was descriptive of anything.

404
00:47:21,560 --> 00:47:25,560
I mean I knew exactly what you're talking about we're low.

405
00:47:25,560 --> 00:47:34,560
The fancy fancy yet exactly using the fancy fancy the double the double stop the double hop transaction over IBC the fancy fancy.

406
00:47:34,560 --> 00:47:43,560
So yeah and people people kind of people who I know there are some people who are listening to this who also listen to the dev podcast we did earlier today.

407
00:47:43,560 --> 00:47:50,560
So when James already described a blockchain is a linked list which you also encountered earlier today so.

408
00:47:50,560 --> 00:48:00,560
When we had a little bit of a tangent on applicative functions and mapping functions earlier and why it's a rate is a pretty good in rust smart contracts.

409
00:48:00,560 --> 00:48:10,560
That that that mapping function that that we spent maybe a little bit too long getting to the weeds over is basically how sub query works as well so it goes to show you that.

410
00:48:10,560 --> 00:48:16,560
Developers rambling about concepts sometimes those concepts are universally applicable to hard problems.

411
00:48:16,560 --> 00:48:24,560
So yeah so I guess the final question I'd have James like what you know obviously that you guys you folks are so kind of launching your own chain and whatnot.

412
00:48:24,560 --> 00:48:35,560
What's what's exciting on the roadmap that those of us who may be application developers should be like excited about coming from sub query and kind of looking out for.

413
00:48:35,560 --> 00:48:42,560
Yeah well like so as our teams focus on making this index is reliable as far sufficient open as possible right.

414
00:48:42,560 --> 00:48:47,560
And it means that we're constantly building new improvements to it.

415
00:48:47,560 --> 00:48:58,560
So an example was that hosted service we're just improving the scalability of that and new features to that the network which we're trying to launch we just had a test network we had about 150 indexes.

416
00:48:58,560 --> 00:49:09,560
I'm simulated about 200 million API requests in the test network and we're rolling onto a main net soon and we'll have a a Cosmos project on there probably as well.

417
00:49:09,560 --> 00:49:22,560
We're doing a lot of like interesting features around these performance improvements that's always like the number one thing is make it faster and better but also features around.

418
00:49:22,560 --> 00:49:31,560
So you can make a sub-group project that is mutable and mutable for those are no means means like data inside of it updates.

419
00:49:31,560 --> 00:49:40,560
So for example if you're indexing the current owner of an NFT that data will change all the time is that you have to assault.

420
00:49:40,560 --> 00:49:52,560
We have added a new feature recently that keeps track of all historic mutations of that so you can ask what you can ask your sub-group project what was the state of the world at this particular point.

421
00:49:52,560 --> 00:49:54,560
Oh so then sourcing.

422
00:49:54,560 --> 00:49:55,560
Yeah.

423
00:49:55,560 --> 00:49:57,560
Okay that's cool.

424
00:49:57,560 --> 00:50:05,560
So you can you can ask like what was the balance this point if you're indexing like the balances of all assets that what's had you can ask how much did they have at this time.

425
00:50:05,560 --> 00:50:15,560
I guess you can kind of figure that out but you know like this points here where what was the the API of a of a defy protocol at this point in time and how's it changed.

426
00:50:15,560 --> 00:50:23,560
So those are kind of interesting features where we're working on adding but of course more chain support is always one thing we're going to be supporting.

427
00:50:23,560 --> 00:50:34,560
So we have a goal of about eight different chains by India and we're kind of three almost you say four but now three thanks to tears demise.

428
00:50:34,560 --> 00:50:41,560
It sounds like someone might actually be able to make some effective fucking tax software based on sub query.

429
00:50:41,560 --> 00:50:46,560
Hey let's not get ahead of ourselves here.

430
00:50:46,560 --> 00:50:47,560
Yeah.

431
00:50:47,560 --> 00:50:53,560
Yeah it's like in the cosmos it's just impossible to work out your tax.

432
00:50:53,560 --> 00:50:55,560
Yeah.

433
00:50:55,560 --> 00:51:08,560
I had to write my own software based on Matt produce as it happens but obviously my accounts can't run it because it's a closure project so they were really excited they were like oh you've written software to do your taxes.

434
00:51:08,560 --> 00:51:09,560
Oh is this something we can resell.

435
00:51:09,560 --> 00:51:20,560
I was like if you know the list if you're happy to run a repel you know it's bag easy but at least we don't feel like that.

436
00:51:20,560 --> 00:51:31,560
It's a text governments around the world are going to account for like 300 million of your 400 million daily queries on the.

437
00:51:31,560 --> 00:51:44,560
But so just just because that final point you talked about where it kind of sound like it was an event sourcing based solution where you're you're calculating the delta right between two points and that's how you're moving the index forward.

438
00:51:44,560 --> 00:51:56,560
Is that a fundamental reimagining of how sub query does stuff or is that an additional product that is essentially doing event sourcing for because that for those that I guess don't do lots of log streaming stuff.

439
00:51:56,560 --> 00:52:10,560
There's basically two models one of them is you just log the value every point in time and you just keep track of an entity and then you as an application developer decide when what to do when you are told it changes.

440
00:52:10,560 --> 00:52:22,560
An example of this would be something like a smack stack where you have Apache Kafka writing to Cassandra so you have a date a database and then you have like a log streaming thing.

441
00:52:22,560 --> 00:52:29,560
Ha ha ha ha ha ha ha, Callum, yes, I managed to make it an hour without mentioning this, well done.

442
00:52:29,560 --> 00:52:42,560
Or you have something where the database on the log of the same thing like it in events or somewhere you say okay well I actually only care about what can be computed at a point in time which might be now.

443
00:52:42,560 --> 00:52:47,560
In which case what I actually need to do is compute the deltas so.

444
00:52:47,560 --> 00:52:51,000
I don't know how many people listening and listening to the playback later.

445
00:52:51,640 --> 00:52:56,200
Yeah, we're storing the states at different points of view. So we're saying the state was

446
00:52:56,200 --> 00:53:03,320
like this between blocks x and y. Computing and storing the data is a fundamental reimagining

447
00:53:03,320 --> 00:53:10,040
of how you do that. And I think it's a little bit of a step too far. But from state was this,

448
00:53:10,040 --> 00:53:15,880
that x to y and from y to z it was this, you could obviously backtrack and compute the data.

449
00:53:18,840 --> 00:53:22,520
Okay, so you're going about it that way rather than the event sourcing model where it is.

450
00:53:23,640 --> 00:53:28,280
I know some very, very smart people that did some work on geolocated event sourcing.

451
00:53:29,560 --> 00:53:33,240
I think you might have even been for a demonstrated project in New Zealand of all places.

452
00:53:34,520 --> 00:53:36,920
But yeah, it was. There's so many people here.

453
00:53:36,920 --> 00:53:44,600
Yeah. Well, they were based in the north of England. So I think the original purpose was

454
00:53:44,600 --> 00:53:50,200
like for tracking emergency services or something saying like, oh, where was a given point reported

455
00:53:50,200 --> 00:53:55,160
at a given point in time? And then it ended up pivoting the whole company towards like,

456
00:53:55,160 --> 00:54:01,800
where is a customer in a supermarket at a given point in time? Which as it turns out,

457
00:54:01,800 --> 00:54:05,080
is a really hard problem to solve and very interesting, but it doesn't actually translate

458
00:54:05,080 --> 00:54:13,640
to bucks in the cash register. So nobody bought it. But lots of fun. Lots of fun to think about

459
00:54:13,640 --> 00:54:19,560
it anyway. I'm going to shut up. Nell, you say, do you have any final questions for James?

460
00:54:20,840 --> 00:54:23,640
Oh, yeah. But it's not related to subquery.

461
00:54:26,040 --> 00:54:28,200
So New Zealand thing. Yeah.

462
00:54:30,360 --> 00:54:30,760
Go ahead.

463
00:54:30,760 --> 00:54:34,200
No, it's mean. I'm not going to say it.

464
00:54:37,160 --> 00:54:37,880
Bloody Aussies.

465
00:54:41,240 --> 00:54:50,680
I mean, completely unrelated to anything blockchain or cosmos or that. So I think this is like,

466
00:54:53,400 --> 00:55:00,280
similar around the world now. Everyone's pushing up interest rates. And in New Zealand,

467
00:55:00,280 --> 00:55:04,920
is probably ahead of the curve on pushing up interest rates. And you guys are getting it

468
00:55:04,920 --> 00:55:11,960
pretty hard there. So the reason I ask is because traditionally, the news is pretty full of shit.

469
00:55:12,600 --> 00:55:19,800
And I don't really look at it that often, but lately on my Google news feed on my phone,

470
00:55:20,360 --> 00:55:28,440
I keep seeing all this shit about the New Zealand house market imploding, etc. Any truth to it? Or

471
00:55:28,440 --> 00:55:32,440
is it all media bullshit? It's not imploding yet. It's saying like the news on my house market has

472
00:55:32,440 --> 00:55:38,120
been one of the hottest house markets for the last five years, right? House prices here like went up

473
00:55:38,120 --> 00:55:46,360
like 28% last year. Yeah. So it's not imploding. It's actually like stagnating slightly going

474
00:55:46,360 --> 00:55:50,360
down a little bit, but like compared to what it was doing last year, it's like, oh, wow.

475
00:55:50,360 --> 00:56:00,680
Yeah. It's kind of like the house prices in Sydney, right? It's almost like London, I think,

476
00:56:00,680 --> 00:56:07,800
where it's just ridiculous, but outside. Well, like in the news relating to our housing market,

477
00:56:08,600 --> 00:56:15,320
you know, it's like the news headlines are like, Sydney completely fucked, Melbourne completely

478
00:56:15,320 --> 00:56:20,520
fucked, but like they've still got a clearance rate on auctions and stuff like that. So it's

479
00:56:20,520 --> 00:56:25,400
really hard to decipher what in the hell is going on with it. But I mean, I don't own a house, so

480
00:56:25,400 --> 00:56:35,400
it doesn't really bother me. Yeah, I'm the same. I can't bother buying houses right now. It's

481
00:56:35,960 --> 00:56:42,440
I'm just waiting for things to shit the fuck up and like 12 months or so, you know, that's the

482
00:56:42,440 --> 00:56:51,160
time to have cash. Yeah, it's interesting like where it's all going because I don't really want

483
00:56:51,160 --> 00:56:56,120
to get I could talk about, you know, the local economies here for days and just bore the shit

484
00:56:56,120 --> 00:57:00,840
out of everyone. But I wanted to ask you about that. So you surfers like, where even are these

485
00:57:00,840 --> 00:57:08,840
places? Are these? They have economies? These guys aren't in America. Where are they?

486
00:57:08,840 --> 00:57:11,880
These guys aren't in the same country. I thought New Zealand was the state of Australia.

487
00:57:12,440 --> 00:57:15,720
I do know that there's been those two. I'm trying to I am trying to figure out what exactly the

488
00:57:15,720 --> 00:57:21,400
local economy looks like in the bush over there. And is that like how many kangaroo pelts you get

489
00:57:21,400 --> 00:57:24,680
for a gallon of koala milk? I got it with that one.

490
00:57:24,680 --> 00:57:29,800
That's a good one.

491
00:57:29,800 --> 00:57:34,760
You know, like we've only had just the American billionaires fly out before COVID to really

492
00:57:34,760 --> 00:57:39,560
fleece and are arguing a bit, getting a bit too knowing about the subject.

493
00:57:41,400 --> 00:57:45,640
Like we literally sell bags of chicken shit on the side of the road.

494
00:57:48,440 --> 00:57:50,520
We don't have a good deal on the side of the road.

495
00:57:52,200 --> 00:57:59,560
And ends like we sell rocks to throw it to try neighbors or like, what's the utility here?

496
00:57:59,560 --> 00:58:07,480
Well, we do have a chicken shit. It's based on the ability of Australia to sell rocks to China.

497
00:58:08,680 --> 00:58:15,320
Basically, yeah, it's how much can we dig out of the ground and convince China to buy before

498
00:58:15,320 --> 00:58:21,640
they explode us with nuclear bombs? They write that on the bills, right? Isn't that the bottom of

499
00:58:21,640 --> 00:58:30,760
the bill? I think it's like in the UK on the money, it says like, I promise to pay the bearer

500
00:58:30,760 --> 00:58:36,520
on demand the sum of blah and it has like the address of the Bank of England. You obviously

501
00:58:36,520 --> 00:58:42,920
can't bloody do that anymore. But in Australia, it says like I promise to pay the bearer on demand

502
00:58:42,920 --> 00:58:48,040
the amount of rocks equivalent to probably the equivalent of coal or something.

503
00:58:48,040 --> 00:58:54,040
Yeah, it's a reserve currency in case people listening weren't aware of that.

504
00:58:54,040 --> 00:58:57,880
Like it still does have a reserve, but it's primarily rocks and coalesce.

505
00:59:01,000 --> 00:59:07,240
We have coal on oil and gas. It's like... So you're basically Russia. You're basically Russia.

506
00:59:07,240 --> 00:59:10,680
But like, you're a solid hemisphere. Nobody assaulted you.

507
00:59:13,480 --> 00:59:15,880
Does that make New Zealand like Ukraine or something?

508
00:59:15,880 --> 00:59:21,480
No, no, no, no. We're friends. We're like, we're like, we're like Canada to the US, you know?

509
00:59:22,840 --> 00:59:27,000
We couldn't get the rock out of the ground without Kiwis probably. So

510
00:59:29,800 --> 00:59:32,280
to come with us. It's sort of like a threat, like weirdly.

511
00:59:34,920 --> 00:59:41,080
We'll get that rock out. You'll be sorry about joking about those rocks out the ground.

512
00:59:41,080 --> 00:59:47,080
A famous prime minister or like president from the Americans listening of New Zealand

513
00:59:47,720 --> 00:59:52,680
once said the same as back when someone said, you know, the migration rate to Australia is

514
00:59:52,680 --> 00:59:58,280
through the roof right now. And the prime minister said, well, it's not a bad thing.

515
00:59:58,280 --> 01:00:02,520
It, you know, it raises the IQ of both countries. Wow.

516
01:00:02,520 --> 01:00:13,400
Wow. It's pretty good. Ironically, I've worked in New Zealand to get money when I was a uni.

517
01:00:15,560 --> 01:00:19,240
Yeah, it costs like so much money to buy steak over there. It's ridiculous.

518
01:00:19,240 --> 01:00:24,920
The food in Costa Living is fucking madness in New Zealand. And they pay you like half of what they

519
01:00:24,920 --> 01:00:34,360
pay you here. It's bizarre. But I must say it is an incredibly beautiful country. And, you know,

520
01:00:35,480 --> 01:00:42,360
some of the places out there like the glow worm caves in Waitomo and down south, like around

521
01:00:45,880 --> 01:00:50,440
like Milford Sound and those around there, just incredibly beautiful.

522
01:00:50,440 --> 01:00:58,200
King knows desperately trying to save his New Zealand delegates right now. Backpedaling.

523
01:00:58,200 --> 01:01:05,880
No, when I went down there, I traveled around quite a bit. And yeah, man. So in Australia,

524
01:01:05,880 --> 01:01:16,280
the places you go see, which are serene and pretty, are like over in WA in the middle of the desert,

525
01:01:16,280 --> 01:01:22,520
they're like red and green. It's a different type of landscape, right? But when you go to New Zealand,

526
01:01:23,560 --> 01:01:30,040
it's like rolling hills and green grass and big lakes and hills. It's just

527
01:01:30,040 --> 01:01:37,000
Wales but massive. It's Wales but massive lads. It's different to here, but it's just completely

528
01:01:37,000 --> 01:01:42,200
beautiful. And it's a great thing to go and see. If anyone's thinking of traveling anywhere post

529
01:01:42,200 --> 01:01:49,160
COVID, go check out New Zealand. So everybody, you've been listening to Game of Travel Asians with

530
01:01:49,160 --> 01:01:53,400
King knows your friendly local travel agent, King knows.com for all your travel needs to

531
01:01:53,400 --> 01:01:58,040
Australia and New Zealand. They'll organize your package holidays, trips to the outback and

532
01:02:00,920 --> 01:02:08,840
yeah, personally, you're powered by Subquery. So it's time to do a little bit of wrap up and

533
01:02:08,840 --> 01:02:14,440
hopefully not get rugged this week by now. So we had a few quick questions for Game of Nodes

534
01:02:14,440 --> 01:02:18,920
during the week, which were, and James, feel free to jump in if you have an answer to a question,

535
01:02:18,920 --> 01:02:24,520
even though they've kind of been asked in our direction. We've been asked a question,

536
01:02:24,520 --> 01:02:27,720
a couple of questions about, isn't Nomec main net?

537
01:02:28,920 --> 01:02:36,360
Like, is it Nomec or Nomec? Nomec. Nomec. Nomec. The main net is this week, next week.

538
01:02:36,360 --> 01:02:41,160
You two are validating it, right? Where are the windows tiled?

539
01:02:44,040 --> 01:02:48,120
I'm trying to point to the two of you. You're both validating Nomec, right? That's going live

540
01:02:48,120 --> 01:02:51,720
next week or the week after? I'm not. New Surfer probably is.

541
01:02:52,440 --> 01:02:57,400
I am. The date, I don't have the exact date in front of me because I think we're going to talk about it.

542
01:02:58,040 --> 01:03:02,520
It is something about in the chat right now as well. I believe it is next week.

543
01:03:02,520 --> 01:03:12,040
I have a question for you, you Surfer. If Nomec main net is just now going live,

544
01:03:12,040 --> 01:03:15,160
what the fuck has been live for the last couple of months?

545
01:03:15,160 --> 01:03:18,680
Yeah, we were talking about this on the Game of Nodes channel. It's just been really stinking up

546
01:03:18,680 --> 01:03:23,560
to this point, right? Because the idea is that this is a bridge for Bitcoin bridge. So it is,

547
01:03:24,360 --> 01:03:31,240
I guess, we're up to a point where everybody's just auto-compounding like crazy to be able to

548
01:03:31,240 --> 01:03:38,760
build this up and build a pretty uneven delegate structure in these hundred validators.

549
01:03:40,520 --> 01:03:45,240
Three months for like three months. I think it's the end of the scamming period, is it?

550
01:03:45,240 --> 01:03:49,000
Exactly. Yeah. Now we can actually do something here.

551
01:03:50,200 --> 01:03:55,640
So it is, yeah, there you go. Calvin and Publix just hit stake net, which is a nice way of saying

552
01:03:55,640 --> 01:04:01,720
what I just said. So it's live and we're staking. And so I think I actually, I'm trying to find

553
01:04:01,720 --> 01:04:06,360
the date exactly when it's going to launch. So then I think then the new UI will be able to

554
01:04:06,360 --> 01:04:10,120
be available and then we'll start having some exchange of the things that are going to happen.

555
01:04:10,120 --> 01:04:15,320
So yeah, I actually haven't seen too many. They don't communicate quite the same way

556
01:04:15,320 --> 01:04:18,520
that they're chained. So it's been difficult to somewhat keep up with.

557
01:04:19,720 --> 01:04:24,680
Well, let's be rectifying some of the, so is there still going to be the weird shit that they've got

558
01:04:24,680 --> 01:04:27,720
in the stake net is what they're going to have in main net like,

559
01:04:28,360 --> 01:04:32,360
or have they already fixed it where they, for example, didn't have the ability to

560
01:04:32,360 --> 01:04:39,000
unjail or something like that? They do run this again, some Kimiak. I think they run,

561
01:04:39,000 --> 01:04:44,600
they do run a separate UI that or CLI that sits in front of the tandem SDK.

562
01:04:45,160 --> 01:04:48,360
And so I'm not sure if that's Rust based. I think somebody told me that was Rust based.

563
01:04:48,360 --> 01:04:55,320
Somebody's going to say if it is or not, right? They built their own application on top of

564
01:04:55,320 --> 01:05:01,720
tandem and it's not based on the Cosmos SDK. Okay. So behind this team, they have some of

565
01:05:01,720 --> 01:05:05,640
the same components that are in there and there's some front end to be able to perform some of those

566
01:05:05,640 --> 01:05:09,640
tasks. But I think like the wallet structure and where that's held, some of the other commands,

567
01:05:09,640 --> 01:05:16,680
obviously are quite different than, and now, now a little bit, now, I don't know if it's on par,

568
01:05:16,680 --> 01:05:20,120
but early on it was a little bit restrictive in terms of what was available to you.

569
01:05:20,920 --> 01:05:24,920
Even things like being able to, you know, enable something like a tender duty to be able to monitor.

570
01:05:24,920 --> 01:05:29,080
It was difficult to even get developer address out of that. But now that's all somewhat changed

571
01:05:29,080 --> 01:05:33,880
and there's ways to be able to do that and things like that. So, but there hasn't been that many,

572
01:05:33,880 --> 01:05:38,120
I was actually trying to go back and see how many, how many actual upgrades there's been in

573
01:05:38,120 --> 01:05:43,560
those periods as well. And I think there's only one or two during the stake net period. So

574
01:05:43,560 --> 01:05:49,000
I assume there's another one obviously coming for the upgrade here and we'll see what kind of what

575
01:05:49,000 --> 01:05:57,240
happens. That's like, that's a weekend's of upgrades for like uni three. Yeah, seriously. Yeah.

576
01:05:57,240 --> 01:06:03,560
Yeah. So it's more of a, it's well, obviously, there's some things that are different, but it's

577
01:06:03,560 --> 01:06:09,560
approaching future parity for against versus the SDK on core stuff, basically. That's a,

578
01:06:09,560 --> 01:06:17,160
that's a, that's a pretty weak example for me. But in my eyes, at least some of those things are

579
01:06:17,160 --> 01:06:25,320
coming in. So if you can monitor the node using standard tendiment monitoring tools, that's a

580
01:06:25,320 --> 01:06:29,800
good start. To start. Well, I mean, because this is the thing that you've been talking about with

581
01:06:29,800 --> 01:06:35,000
James this entire episode is, you know, the beauty of Cosmos SDK or Cosmos more generally is that

582
01:06:35,000 --> 01:06:39,960
you should be able to run one thing against all chains with very little modification and kind of

583
01:06:39,960 --> 01:06:44,680
get results or at least be able to diagnose them yourself. So I think, you know, if you're saying,

584
01:06:46,600 --> 01:06:51,400
given that they're now advertising, this is main net for real lads, the fact that that stuff is now

585
01:06:51,400 --> 01:06:56,920
starting to work suggests that their implementation is now in a good place, which is good to hear.

586
01:06:56,920 --> 01:07:02,200
I mean, I'm excited. I'm excited primarily because people are talking about it in Prague as

587
01:07:02,200 --> 01:07:08,760
potentially a Rust implementation on top of the SDK that would work. And as we know, I am a

588
01:07:08,760 --> 01:07:14,680
unashamed Rust Maxi when it comes to Rust versus Go. So yeah, actually, I don't see anything official

589
01:07:14,680 --> 01:07:18,520
about what that data is. Kyle also talked about maybe next week, but I haven't seen anything on

590
01:07:18,520 --> 01:07:22,040
the Twitter and other types of things. I think all I've heard is like, it's been through other people

591
01:07:22,040 --> 01:07:25,560
now that reason I feel uncomfortable talking about this is I don't know if I've actually seen

592
01:07:25,560 --> 01:07:34,440
something myself. But we'll see kind of what happens. Cool. We have one more thing on here,

593
01:07:34,440 --> 01:07:39,720
which is interchange security. But I think honestly, let's kick that to next week now,

594
01:07:39,720 --> 01:07:46,920
because that's a big one. And we can, we've like, yeah, there's just, I managed to really kick

595
01:07:46,920 --> 01:07:54,440
it because that one security, it's a long, it's a lot. Yeah, yeah, it's, there's, there's a lot

596
01:07:54,440 --> 01:07:57,560
of stuff that I managed to stir up with that one. And there's some very good points from

597
01:07:59,240 --> 01:08:03,560
many people who are much, much smaller than me. So we'll kick that to next episode and make sure

598
01:08:03,560 --> 01:08:07,560
that they're given the time they deserved. And actually, maybe we were talking about this, we

599
01:08:07,560 --> 01:08:12,280
could get like somebody who's particularly knowledgeable about things to come along and

600
01:08:12,280 --> 01:08:16,120
join the show because we've been shuffling the guests around a little bit recently. So,

601
01:08:17,800 --> 01:08:23,080
yeah, final thing of the week, which we might, we have actually managed to get to for once,

602
01:08:23,080 --> 01:08:31,320
the entire spreadsheet. What are you most excited about this week in the cosmos?

603
01:08:32,840 --> 01:08:36,360
You say, I thought, I mean, I think about this for a few weeks.

604
01:08:37,160 --> 01:08:44,520
Yeah, just me and I'll escalate the rocking. Yeah, right. All right. I guess I do have something.

605
01:08:44,520 --> 01:08:50,440
So one thing that started this week, one big one conversation I had out of almost my accident

606
01:08:50,440 --> 01:08:55,720
a little bit. Actually, not so much by accident. When Daniel was up from steakfish a few weeks ago

607
01:08:56,680 --> 01:09:01,320
and he was on Game of Notes, it gives an opportunity to be able to talk after that. And then they were

608
01:09:01,320 --> 01:09:08,520
meeting down in consensus and there was a group called Validator Commons, which I think I've put

609
01:09:08,520 --> 01:09:13,800
a link into, which there's Metagov and steakfishes in there, I believe Cosmo Station might be in

610
01:09:13,800 --> 01:09:17,000
there. There's a few others and there's some research individuals in there as well. And

611
01:09:17,000 --> 01:09:22,280
that's having some conversations around governance in the cosmos is very cosmos specific. Although

612
01:09:22,280 --> 01:09:26,520
those chains also talk about Validator Governance outside the cosmos as well. I think actually

613
01:09:26,520 --> 01:09:33,560
it might be more than just the Cosmospace. And I think having a conversation, I hope my mouth

614
01:09:33,560 --> 01:09:37,880
in that meeting and was just talking a little bit around just what's happening in our ecosystem

615
01:09:37,880 --> 01:09:43,800
with validators and kind of how validators grow and those types of things. And they have some

616
01:09:43,800 --> 01:09:51,000
pretty detailed conversations and discussions around I think both the Validator and Foundation

617
01:09:51,000 --> 01:09:55,640
relationship and kind of the economy of that and those types of things. And then something,

618
01:09:55,640 --> 01:09:59,560
so that's been pretty interesting. I'm starting to be involved a little bit in those conversations

619
01:10:00,360 --> 01:10:05,000
just to better understand it and then hopefully get more people involved. And then the other thing

620
01:10:05,000 --> 01:10:10,920
that started this week was also coming out was this Cosmos Validators League, which we've talked

621
01:10:10,920 --> 01:10:19,720
a little bit and I know that you guys know and Frey have been involved with as well. And that

622
01:10:19,720 --> 01:10:25,080
is another group which is now growing pretty large in terms of the number of Cosmos Validators that

623
01:10:25,080 --> 01:10:34,200
have been involved. That came up out of Thiborg and also Ghost from Whisper. And that is also talking

624
01:10:34,200 --> 01:10:43,080
about just trying to look at different ways to provide delegators with a good understanding of

625
01:10:43,080 --> 01:10:48,280
value from validators in the Cosmos. Is that a fair statement, guys? And the idea of being able to

626
01:10:48,280 --> 01:10:55,000
maybe make UX changes or other types of things that help more than just VP. And how do we find

627
01:10:55,000 --> 01:11:01,240
other ways to be able to show value and either giving back or I guess I should sum it up to say

628
01:11:01,240 --> 01:11:05,960
qualitative and quantitative ways to be able to show value. And so those conversations have been

629
01:11:05,960 --> 01:11:11,080
also pretty big. We'll put links to the show notes I guess to both of these. So if there's

630
01:11:11,080 --> 01:11:14,840
validators if not involved in either of those, it'd be interesting for people to get involved in that.

631
01:11:15,640 --> 01:11:19,720
So I think that I don't know if that's the most interesting thing I'm excited for, but I do think

632
01:11:19,720 --> 01:11:24,840
these conversations are really good. And I think that there's a lot of viewpoints in both these

633
01:11:24,840 --> 01:11:29,480
areas. But I'm not sure of exactly what's going to come out of either one because there's, you know,

634
01:11:29,480 --> 01:11:35,320
it's a lot of people involved with different kind of backgrounds and needs, but it's pretty cool,

635
01:11:35,320 --> 01:11:42,680
I guess. Any comments from you guys on those? Yeah, well, I had like a pretty lengthy conversation

636
01:11:42,680 --> 01:11:50,120
yesterday with Thiborg, who I think is like effectively, I'm not sure if I said his name

637
01:11:50,120 --> 01:11:56,040
right, but he's effectively like, you know, the spring from which the fountain has come with this

638
01:11:56,040 --> 01:12:04,920
validator, let's say assessment. And actually, we invited him to the, out of this, we invited him to

639
01:12:04,920 --> 01:12:14,120
the delegations there, which we're looking at on Juno. Because I think, you know, he's got the right

640
01:12:16,520 --> 01:12:20,760
he's got the right attitude towards that and is reasonably non-biased and that type of stuff as

641
01:12:20,760 --> 01:12:28,440
well. So, but, you know, had a pretty decent conversation with him about like how that process

642
01:12:28,440 --> 01:12:35,960
might look and, you know, the pitfalls and dangers of doing something like that. And especially if

643
01:12:35,960 --> 01:12:43,480
they, you know, for example, became the default wallet that people use to do staking, right? So,

644
01:12:43,480 --> 01:13:00,040
then you're sort of actively, you know, ranking people and encouraging directly delegations to

645
01:13:00,040 --> 01:13:07,000
certain people and like, how do you how do you manage the responsibility of that? And a lot of

646
01:13:07,000 --> 01:13:13,720
that would be subjective. A lot of contributions aren't on chain. How do you make all that assessment

647
01:13:13,720 --> 01:13:21,560
and create that criteria to be able to effectively achieve what they want to. And things along those

648
01:13:21,560 --> 01:13:30,280
lines, it's quite a complex subject. And, you know, the problem is for delegators, like it's

649
01:13:30,280 --> 01:13:35,560
quite a it's a difficult thing for for delegators. Because obviously, as a delegator, if you're

650
01:13:35,560 --> 01:13:39,880
fresh into the cosmos, you want the thing that's going to get you the most money, right? So, you

651
01:13:39,880 --> 01:13:44,840
come in, you see a thing that you're going to get money back out of your delegates them. And then

652
01:13:44,840 --> 01:13:52,120
your job's done, you click on, you know, restake or whatever and off you go after the raises.

653
01:13:52,680 --> 01:14:02,840
But, you know, so if you're like a rhino and you're providing like RPCs for Stargaze, that's

654
01:14:02,840 --> 01:14:11,080
on chain. But if you're like a poker chew, and you index things and put them on your website,

655
01:14:11,080 --> 01:14:16,520
that's not on chain. And then assessment of that type of thing is pretty subjective, but they provide

656
01:14:16,520 --> 01:14:25,480
a lot of value to the entire cosmos through doing that. So, you know, there's a lot of moving parts

657
01:14:25,480 --> 01:14:32,840
when you're trying to rank people or or that type of thing. So, you know, I suggested that then that

658
01:14:32,840 --> 01:14:45,320
maybe like instead of ranking people, you keep it like a random listing, but you know, maybe red flag

659
01:14:46,600 --> 01:14:53,560
people like have agreed criteria, maybe even voted criteria that, you know, if you represent the top

660
01:14:53,560 --> 01:15:00,200
30% of the vote on a chain or something, then you just get, you know, wrapped up and pushed to the

661
01:15:00,200 --> 01:15:06,440
bottom. And then the remaining might get just scattered around a list. Or even, you know,

662
01:15:06,440 --> 01:15:12,920
there could be a red flag system where if you do certain things, then then the, you know, you get

663
01:15:12,920 --> 01:15:19,080
like a you get put in a roll up of a red flag line, you know, if you want to look at the red flags,

664
01:15:19,080 --> 01:15:23,960
you can go on, if you hate the eco, you can go and vote to all those people and stuff like that. But

665
01:15:23,960 --> 01:15:28,920
you know, you have to think about that type of stuff. You can't just go fuck it. We want to like

666
01:15:29,960 --> 01:15:35,160
make a list and then make a list. There's a list now. So the question is, is the list going to be

667
01:15:35,160 --> 01:15:40,440
better than the list that exists now? And the list that exists now is not right. So there's a bunch

668
01:15:40,440 --> 01:15:45,160
of points that have been made in the chat. I just want to quickly highlight. I'm just going to have

669
01:15:45,160 --> 01:15:49,240
a good run as well, guys, but I really appreciate coming on to say any of us for the meeting.

670
01:15:49,960 --> 01:15:52,040
James, I apologize for bringing this topic up with them.

671
01:15:52,040 --> 01:15:54,840
No, no, no, it's not. I was also, I want to say and talk about this because yeah,

672
01:15:54,840 --> 01:15:59,480
we're trying to work out dials as well. But it's life. Cheers, guys. Cheers. Cheers.

673
01:15:59,480 --> 01:15:59,880
See.

674
01:16:02,360 --> 01:16:07,000
So, as Paul Moses said, whitelist and validated cartels are anti-community.

675
01:16:07,000 --> 01:16:18,680
There's been a facetious respect the cartel. And then I think the second comment that I've

676
01:16:18,680 --> 01:16:23,640
most made on this is actually very, very important, which is validators to sign the criteria is an

677
01:16:23,640 --> 01:16:29,320
equation for cartel behavior. And I think that's like, I think the root of my uncomfortableness

678
01:16:29,320 --> 01:16:35,160
with a lot of those validators we should get together and whatever is essentially that.

679
01:16:35,160 --> 01:16:41,160
And I think it's also just that too many validators are up on more than one chain as well.

680
01:16:41,800 --> 01:16:45,800
Like I think in an ideal world, the economics would be the case that you would only validate

681
01:16:45,800 --> 01:16:53,000
one chain. We validate two, we're going to validate three soon. It's not impossible,

682
01:16:53,000 --> 01:16:56,200
given that technically we're supposed to, assuming passage actually makes it,

683
01:16:56,200 --> 01:17:00,680
we're supposed to validate passage that would be up on four. And that's at the point where I'm,

684
01:17:00,680 --> 01:17:05,640
you know, as a part of an organization, validating more than one chain, I'm going, well, that's

685
01:17:07,640 --> 01:17:13,400
it's not great, is it? And then that's before you've even really thought about,

686
01:17:13,400 --> 01:17:20,360
you know, white labels and all the other complex stuff. So, you know, I think like Noel was saying,

687
01:17:20,360 --> 01:17:25,960
whatever the metrics are, it's probably should be up to the community to decide.

688
01:17:25,960 --> 01:17:32,520
But then the community is going to decide on an economic basis at the moment. Because it's

689
01:17:32,520 --> 01:17:38,520
conflate. The problem we have like in a nutshell is that we've conflated economic incentives and

690
01:17:38,520 --> 01:17:44,440
political incentives. And what's happened is we've got people buying votes. Let's call it what it is,

691
01:17:44,440 --> 01:17:50,520
people are buying votes, and that's the problem. And this is a very, very solved problem. You don't

692
01:17:50,520 --> 01:17:58,360
let people buy votes in democracy. You make it hard for them to do so using law. And we don't

693
01:17:58,360 --> 01:18:05,080
have that. We just have this loose social consensus. So it's really hard problem to solve.

694
01:18:05,080 --> 01:18:11,320
CB all right. I agree with Noel's point too. I don't want to recreate rankings and those

695
01:18:11,320 --> 01:18:17,400
types of things. I do think that there is a real dark spot of education. And I think some of these

696
01:18:17,400 --> 01:18:24,760
other types of things around what makes value more than just what that ranking is. And even like,

697
01:18:25,160 --> 01:18:28,680
you know, I mean, I understand the idea of like having validators come together and trying to

698
01:18:28,680 --> 01:18:33,000
build a UI seems like collusion, but you have one validator building a UI right now, right?

699
01:18:33,000 --> 01:18:36,680
Like that's what Mintscan is, right? You know, it's community driven and it's open source. You

700
01:18:36,680 --> 01:18:42,600
still, you know, that's kind of a small group that's being able to decide how that looks and why

701
01:18:42,600 --> 01:18:47,560
the first 10 of those spots are colored differently than the other ones that exist in that validator

702
01:18:47,560 --> 01:18:52,040
list. So I think that there could be more to be added on chain. I think there'd be more to be

703
01:18:52,040 --> 01:18:56,440
added off chain. I think there's probably rules for indexers in this to be able to have other

704
01:18:56,440 --> 01:18:59,880
types of things. Like a good example is miss blocks. Like those things, most of those RPC

705
01:18:59,880 --> 01:19:04,120
nodes are just looking at the last 100 blocks. I'd like to see if for the last year, show me

706
01:19:04,120 --> 01:19:09,880
downtime over the last 365 days across validators, maybe from when they bonded. Like that is much,

707
01:19:09,880 --> 01:19:16,040
that's much more valid, you know, valuable to me. Mintscan shows number of votes. But if somebody

708
01:19:16,040 --> 01:19:21,400
just joined, it shows that they missed if there's 30, you know, 30 governance proposals. And I just,

709
01:19:21,400 --> 01:19:25,000
I was just a validator for the last one. It shows me as one out of 30. And so it looked like,

710
01:19:25,560 --> 01:19:29,640
you know, what the hell I do? I just got here. So like those types of things and that and those

711
01:19:29,640 --> 01:19:34,120
are, those aren't necessarily their issues. I mean, those are, those are indexing RPC issues.

712
01:19:34,120 --> 01:19:38,680
And there's a technology gap there, which I think now maybe these, maybe a tool like this or other

713
01:19:38,680 --> 01:19:43,720
tools that exist can help solve that. And those things are incredibly difficult UX problems. But

714
01:19:45,080 --> 01:19:49,240
it definitely has a huge impact. And so I do think the idea of validators getting together,

715
01:19:49,240 --> 01:19:55,640
at least talk about what's important is fine. And if that is a, if that looks differently, and

716
01:19:55,640 --> 01:19:59,800
there's other ways to be able to add that data whether it's on or off, I think is there's nothing

717
01:19:59,800 --> 01:20:05,800
wrong with that to make people make good decisions. There's a, I had a thought last night. So I had

718
01:20:05,800 --> 01:20:12,360
a pretty lengthy conversation in my night last night with some guys from Orbitalapes,

719
01:20:13,080 --> 01:20:19,800
because well, yesterday I flamed them on Twitter a bit and I got a lot of heat for it. But,

720
01:20:20,760 --> 01:20:26,920
you know, we had a conversation with them last night. And one thing that occurred to me

721
01:20:26,920 --> 01:20:33,160
while I was talking to them was that, you know, maybe, maybe a good interface is basically

722
01:20:33,160 --> 01:20:38,440
a staking interface that doesn't say anything about any validators. And you just click a button

723
01:20:38,440 --> 01:20:44,040
that says scatter stake. And then, you know, you pick the amount of validators you want to go to,

724
01:20:44,040 --> 01:20:47,640
10, click scatter state, and it just goes even across all of them.

725
01:20:47,640 --> 01:20:52,280
This is like the, this is like the bit in the matrix where he's down on the floor. It's like,

726
01:20:52,280 --> 01:20:58,600
what's happening? It's like, he's starting to believe. I finally, no, no, I was finally

727
01:20:58,600 --> 01:21:03,960
suggested his first solution that involves a random number generator. I love it.

728
01:21:03,960 --> 01:21:09,240
And I'm like, yes, finally, finally, I've said random number generator enough times.

729
01:21:09,240 --> 01:21:14,360
Yeah, just sprays it around to wherever, like, you know, because at the end of the day,

730
01:21:14,360 --> 01:21:17,880
doesn't even matter. Like, as long as you make the blocks,

731
01:21:17,880 --> 01:21:20,920
he's starting to believe, he's starting to believe, fellas.

732
01:21:20,920 --> 01:21:26,200
I think there has to be some other changes where it does matter. I think the governance thing kind

733
01:21:26,200 --> 01:21:30,280
of is a sticker in this. You know, I'm going back to this whole idea around governance,

734
01:21:30,280 --> 01:21:35,240
there are validators voting for non voting shares. I think that that does make some differences. And

735
01:21:35,240 --> 01:21:39,160
so I think there's some values in there that would make difference. And then if governance changes,

736
01:21:39,160 --> 01:21:43,560
and that we separate that piece of it, or some other way of doing that, maybe it's a Dow structure.

737
01:21:43,560 --> 01:21:47,960
And now there's a subset of Dow's that make or a subset within that Dow that makes decisions

738
01:21:47,960 --> 01:21:51,960
versus just this on chain type thing, from a validator perspective, then I think, yeah,

739
01:21:51,960 --> 01:21:56,680
you could just spray it, be done. Well, some think that, you know, validators shouldn't even be

740
01:21:56,680 --> 01:22:06,040
involved with governance. Some, not me, but you know, some. I do. I don't, I think.

741
01:22:08,040 --> 01:22:11,800
I mean, I think there's almost certainly bad ways of doing it. I think there's bad ways of doing it.

742
01:22:11,800 --> 01:22:20,040
Yeah. My red hottest take, I don't know if this is my red hottest take, they all get so

743
01:22:20,040 --> 01:22:26,360
perennially spicier. You know, the meme where it's just like the dial, and it's just like how

744
01:22:27,160 --> 01:22:32,200
like the, the, what was it? It's like an old drill tweet, isn't it turning the dial and looking back

745
01:22:32,200 --> 01:22:37,160
at the audience and then turning the dial again is the tweet is something like that. And it's just

746
01:22:37,160 --> 01:22:42,520
like a classic shitposting meme. And, and that's kind of what I feel like with some of my takes.

747
01:22:42,520 --> 01:22:46,280
I'm just like, turn the dial, look back, I'm like, okay, they're still here. Right. You can turn it a

748
01:22:46,280 --> 01:22:50,600
bit more like, I think I've gone from there might be a problem with proof of stake to like, let's

749
01:22:50,600 --> 01:22:55,800
eliminate validators lads to let's eliminate vote. No, I don't even know. Right. But I think it,

750
01:22:56,840 --> 01:22:59,880
I think there is a bit of me that would like to make a cartel chain.

751
01:23:01,240 --> 01:23:07,400
Cartel chain? Yeah. Yeah. Because it's a cartel anyway. So just admit it's a cartel and say,

752
01:23:08,520 --> 01:23:13,080
okay lads, this is the cartel. Here are your validators for the evening.

753
01:23:13,080 --> 01:23:19,560
But yeah. And then, and then once you kind of admit like, well, I mean, I suppose this is what

754
01:23:22,040 --> 01:23:25,160
Foucault would say or whatever, I think it's Foucault, isn't it? Like, you can only critique

755
01:23:25,160 --> 01:23:29,800
what you can, you can only critique what you have language for, right? So if it is a cartel,

756
01:23:29,800 --> 01:23:32,840
you have to call it a cartel before you can critique it and build a solution.

757
01:23:34,360 --> 01:23:38,520
And like maybe a decent, maybe a set of 125 validators is by its very nature,

758
01:23:38,520 --> 01:23:44,760
essentially going to tend towards a cartel. And then, yeah, maybe the voting power is not the

759
01:23:44,760 --> 01:23:50,360
problem, but who votes, each validator could have its own dial structure of delegators who

760
01:23:50,360 --> 01:23:55,320
actually assign the vote that the validator should do. You could do jury duty voting.

761
01:23:57,320 --> 01:24:01,960
That you know, a random delegator has to vote on behalf of the validator. And if that person's AFK,

762
01:24:01,960 --> 01:24:06,440
then eventually it, you know, drops down to the validator, let's say a day before the voting

763
01:24:06,440 --> 01:24:12,120
window or something like that. There are some very interesting things you could do with that vote.

764
01:24:12,120 --> 01:24:18,040
But then also, you know, should, it's back to kind of should voting be tied to economic power,

765
01:24:18,040 --> 01:24:23,960
like it's done as an anti-Sibyl thing, but actually fundamentally results in vote buying,

766
01:24:23,960 --> 01:24:27,640
which is something we've decided in every advanced democracy is a bad thing.

767
01:24:28,760 --> 01:24:34,200
So, yeah, the combination of vote, vote power plus, plus economics seems to me to be like,

768
01:24:34,200 --> 01:24:39,160
not desirable. Like the thing validators want is stability of income to provide infrastructure,

769
01:24:39,160 --> 01:24:44,120
right? Yeah, that's the primary concern. And I think with Prop 16, we saw that like, not all of us

770
01:24:45,960 --> 01:24:49,320
we're mind stepping up for the community, but we're not always like,

771
01:24:50,200 --> 01:24:54,440
yay, let's get into politics on behalf of our delegators. Right.

772
01:24:57,560 --> 01:25:03,640
Ah, yes, good point partial match as well on anonymous voting and ZK voting would be awesome,

773
01:25:03,640 --> 01:25:10,120
but you need like addressable off chain storage to do the ceremony is quite complicated or relays.

774
01:25:11,800 --> 01:25:14,200
So we're not lucky to have lots of people.

775
01:25:16,920 --> 01:25:20,200
I seriously apologize for bringing this topic up at hour 40.

776
01:25:22,520 --> 01:25:26,680
Yeah, we need we need Henry on here to talk about private voting. We talked about getting

777
01:25:26,680 --> 01:25:34,760
Henry from Penumbra on and he did say yes on Twitter. So that's that's legally binding. All

778
01:25:34,760 --> 01:25:36,680
right, Noel, what are you excited about this week?

779
01:25:39,720 --> 01:25:43,880
Well, what was the date? I don't know. T grades coming up. So people just

780
01:25:45,000 --> 01:25:49,880
actually mentioning proof of engagement in the comments there. And T grades going to launch

781
01:25:49,880 --> 01:25:54,680
like I don't 27th, I think, or something like that. It's imminent now. So I'm pretty,

782
01:25:54,680 --> 01:26:03,000
pretty happy to see that coming up. It's really it's quite different to anything else there is

783
01:26:03,000 --> 01:26:15,560
out there. And I want to see how it unfolds really. But yeah, other than that, I'd be excited to see

784
01:26:15,560 --> 01:26:21,560
some fucking green candles. There is on the board here. This is all this is all because U.S. raised

785
01:26:21,560 --> 01:26:27,160
0.75% or something like that today. And it's all green candles for the last hour. But I'm sure

786
01:26:27,160 --> 01:26:32,920
that I'll sell off tomorrow and we'll be back. Oh, man, everything's like across the board.

787
01:26:32,920 --> 01:26:42,040
Everything's getting the smoke at the moment. It's yeah. Well, anyway. But yeah, also the

788
01:26:42,040 --> 01:26:51,560
the hack down, I think might be just going to go to vote soon on Juno. So I'm excited to see the

789
01:26:51,560 --> 01:27:01,560
DOWs starting to roll out now. Working on a delegations down for Juno, which I'm kind of

790
01:27:01,560 --> 01:27:07,240
excited about. But then again, it comes down to like, you know, assessing people on an individual

791
01:27:07,240 --> 01:27:13,000
level. And it's it's quite subjective. And I'm interested to see how it all pans out to date.

792
01:27:13,000 --> 01:27:23,240
It's core one who's been doing the assessment. And you know, I think we're looking for like a

793
01:27:23,240 --> 01:27:30,840
quite a diverse mix of people for that particular DOW. Not just, you know, there'll be some

794
01:27:30,840 --> 01:27:37,080
validators and some core people. But like I said, for example, I don't know how you say it, Thibord,

795
01:27:38,760 --> 01:27:46,440
is a community person. He's not a validator. He's not a dev. He's but he's, you know,

796
01:27:46,440 --> 01:27:55,720
interested and, you know, pragmatic about it. So need more people like him around the place as well.

797
01:27:55,720 --> 01:28:08,920
Yeah. So excited about the DOWs. Deaf named the Frey. What are you excited about, bud?

798
01:28:12,600 --> 01:28:19,160
I've been talking about this since early May. This because my to-do list catching up after

799
01:28:19,160 --> 01:28:25,400
the Prop 16 bullshit has been so long to get through all of it, plus all this stuff with Hal

800
01:28:25,400 --> 01:28:32,120
and everything like there's just a lot to do. But tomorrow is getting started to sink in a

801
01:28:32,120 --> 01:28:43,320
cash node on a cash day, which will be a fun day probably of swearing at the screen. And yeah,

802
01:28:43,320 --> 01:28:55,720
I've also got a bunch of some kind of semi-secret, top secret stuff going on as well. There's just

803
01:28:55,720 --> 01:28:59,640
like so many projects and things on the go, which I think there's some stuff I'll be working on the

804
01:28:59,640 --> 01:29:03,720
next week, which I've wanted to work on for quite a long time and have that time. And that's going

805
01:29:03,720 --> 01:29:09,560
to be really exciting. And some of that ties quite closely into the sort of things we've been talking

806
01:29:09,560 --> 01:29:14,520
about around validator stuff and whatnot. So going to be getting to stick around with some

807
01:29:14,520 --> 01:29:24,360
Rust and some stuff and some SDK and some fun times. So yeah. And everybody should also check

808
01:29:24,360 --> 01:29:31,800
out your Cosmosm educational series with Callum. Like that's that watch that one today. And I

809
01:29:31,800 --> 01:29:35,240
thought that was because it was the basic stuff, right? Just kind of get an environment set up

810
01:29:35,240 --> 01:29:38,680
and those types of things. But excited. I don't know anything about it. I'm excited to just

811
01:29:38,680 --> 01:29:45,560
understand a little bit. Yeah. People should watch Cosmosm by Dummies, which is the podcast

812
01:29:45,560 --> 01:29:49,800
that Callum and I have started doing. First episode shows you how to bootstrap a local

813
01:29:49,800 --> 01:29:56,760
Dev environment. Would you know? Next episode, next week, Wednesday, 1400 UTC, we're going to be

814
01:29:56,760 --> 01:30:02,920
deploying our first smart contract, showing you a contract lifecycle and stuff like that,

815
01:30:02,920 --> 01:30:08,760
building on this week's episode. They're going to be every week, every two weeks, as we have the

816
01:30:08,760 --> 01:30:15,160
time to do them in between, you know, actually working on smart contracts. But yeah. Yeah.

817
01:30:15,160 --> 01:30:18,360
We're going to go through some of that stuff. There'll be a third episode on doing a simple

818
01:30:18,360 --> 01:30:22,360
front end for that contract as well. And then we'll probably do some stuff where we basically

819
01:30:23,240 --> 01:30:28,040
update the Juno docs for a bunch of little bits. And we'll also probably use some of the teaching

820
01:30:28,040 --> 01:30:40,680
materials in Callum's Cosmosm 10k subs Vim docs. Yeah. Okay. The Callum did a really good,

821
01:30:40,680 --> 01:30:48,680
there's a GitHub repo called Cosmosm zero to hero. I always say hero to zero because the

822
01:30:48,680 --> 01:30:53,000
beta bound album zero to hero, which is really good learning resource. If you're already a

823
01:30:53,000 --> 01:30:56,360
programmer and you're already a little bit comfortable with the SDK, and you can just like

824
01:30:56,360 --> 01:31:01,240
kind of crack on ease that. And so we'll probably use that repo because Callum's already done all

825
01:31:01,240 --> 01:31:06,200
hard work as a bit of a basis for doing some of the future lessons and stuff as well. And we'll

826
01:31:06,200 --> 01:31:12,040
also obviously be taking viewer questions like we do with Gim of nodes. So very cool. Go and check

827
01:31:12,040 --> 01:31:18,680
that out if you're interested. Before we go, we talked about this last week, I think, quick

828
01:31:18,680 --> 01:31:25,160
shirt. No, people said, please don't rug this week. So I'm respecting the comments. And we'll

829
01:31:25,160 --> 01:31:33,240
hopefully sign out properly. But quick show of hands. TM KMS now, we're all here. Right.

830
01:31:35,160 --> 01:31:37,640
Well, you said it was moving in the direction of Horcrux, right?

831
01:31:38,360 --> 01:31:45,240
Yeah. So I'm thinking that's the next step we can ask every week. Are you on Horcrux yet?

832
01:31:45,240 --> 01:31:46,760
I don't know. Seriously.

833
01:31:47,320 --> 01:31:53,640
We plan to move that pretty soon. We're everything TM KMS now, but we want to move to

834
01:31:53,640 --> 01:32:01,560
Horcrux as well. And but last we spoke about it, you were moving to TM KMS, the Frey, right?

835
01:32:02,280 --> 01:32:06,120
Yeah. We're now everything on TM KMS, including actually test net stuff,

836
01:32:07,560 --> 01:32:11,160
because we don't want any setups to be kind of different to other ones.

837
01:32:13,240 --> 01:32:18,200
And I think we're going to start doing like rolling destroys of some of our nodes now,

838
01:32:18,200 --> 01:32:24,680
because the signer is on TM KMS is highly available. Right. Everything else is garbage,

839
01:32:24,680 --> 01:32:27,720
really. We can just like throw it away, build up a new node from scratch.

840
01:32:29,960 --> 01:32:33,080
Do you just want to poke a snapshots that we talk about so much because they're really,

841
01:32:33,080 --> 01:32:36,600
really useful. And then just like point the signer at it, bam, we're done.

842
01:32:36,600 --> 01:32:49,320
Oh, shout out to poker working with Tom on Cosmos Omnibus and creating the API to be able to

843
01:32:49,320 --> 01:32:59,080
programmatically access the his snapshots. So one of the problems has been with Cosmos Omnibus is

844
01:32:59,080 --> 01:33:09,640
having to specify snapshots when you deploy to a cache. And now you can programmatically, well,

845
01:33:10,520 --> 01:33:16,200
it's coming up. I assume they've been working on it. But I believe the plan is to be able to access

846
01:33:16,200 --> 01:33:21,880
an API, which will direct to the latest poker choose snapshot, which are regularly pruned. So

847
01:33:21,880 --> 01:33:30,360
historically, like if you start up in a cache node with Cosmos Omnibus, you can be hanging around

848
01:33:30,360 --> 01:33:37,560
for quite a while waiting for it to download a snapshot. So getting ready access to update.

849
01:33:37,560 --> 01:33:44,280
I think that actually is done as of Tom pushed an update to Omnibus literally like yesterday.

850
01:33:44,920 --> 01:33:45,320
Oh, really?

851
01:33:45,320 --> 01:33:52,840
So yeah, he mentioned it on Monday. So Tom spoke at an event that we run in London and

852
01:33:52,840 --> 01:34:00,360
Tom's a great guy and he's going to be coming on the show in a few weeks. So that is awesome. And

853
01:34:00,360 --> 01:34:07,080
that feeds into your rolling destroys on a cache. So you can now for instance run,

854
01:34:07,080 --> 01:34:17,400
you know, a Horcrux cluster on, you know, five nines, and then have your, you could, you know,

855
01:34:18,040 --> 01:34:27,320
theoretically reliably have your entire century structure on a cache now. So that's what we

856
01:34:27,320 --> 01:34:32,200
want to do. We want to have one, one node that's not a cache to begin with and a couple of nodes

857
01:34:32,200 --> 01:34:38,600
on a cache and see how that starts out. We might start with a uni. And if it works well,

858
01:34:38,600 --> 01:34:43,000
we might move it on to maybe Juno mainnet and then go from there.

859
01:34:44,200 --> 01:34:48,840
Good thing I have a Kolo rack with 10 servers and a five terabytes of memory. And so that's

860
01:34:48,840 --> 01:34:49,400
good timing.

861
01:34:52,200 --> 01:34:52,920
I guess that

862
01:34:56,040 --> 01:34:59,800
seriously, I'm going to have to what's the, but what's the benefit? What's the benefit that you

863
01:34:59,800 --> 01:35:03,960
can get from Horcrux by the time you're on, because if you're on TM KMS and like you're

864
01:35:03,960 --> 01:35:13,000
running your TM KMS box on AWS. Sure. So we, we're kind of foolishly running it exactly on what it

865
01:35:13,000 --> 01:35:18,440
says in the specs in the, in that blog post they did, where they definitely over spec like fuck.

866
01:35:18,440 --> 01:35:25,320
So it's like a, an R5 a XL or something. It's like 32 gig RAM and it's like a one rust service.

867
01:35:25,320 --> 01:35:29,480
Yeah, it doesn't need that much RAM. So at some point we'll, we'll size it down. But even at that

868
01:35:29,480 --> 01:35:34,600
size, it only requires a tiny hard drive. It's only costing 120 bucks a month.

869
01:35:37,320 --> 01:35:43,240
Something like that. So, you know, even at that position, like that box is basically going to stay

870
01:35:43,240 --> 01:35:48,360
up forever, like until you need to restart it. And by something you need to like restart it,

871
01:35:48,360 --> 01:35:51,880
you're going to be like moving up to a new version of, you know, bun two or something.

872
01:35:51,880 --> 01:35:59,160
And just wanted to rebuild the box from scratch, right? Yeah. So, you know, it feels to me like

873
01:35:59,160 --> 01:36:03,000
all you're doing with Horcrux is then having to rebuild three boxes rather than rebuild one box

874
01:36:03,000 --> 01:36:09,560
when you do actually do, you know, really critical validator maintenance, like, like an LTS version

875
01:36:09,560 --> 01:36:16,520
goes out of LTS, that kind of thing. The advantage of Horcrux is whether, whether you use a one of

876
01:36:16,520 --> 01:36:24,520
one Horcrux or, you know, 98 of 100 Horcrux or whatever. The advantage of Horcrux is you can

877
01:36:24,520 --> 01:36:31,960
point it at multiple nodes. So it provides redundancy that way. So if you, for example, have

878
01:36:33,720 --> 01:36:41,560
an Akash node and a main node, like say on DigitalOcean or on bare metal or in your backyard or

879
01:36:41,560 --> 01:36:46,440
whatever, and your internet goes out, then, you know, it can pick up the slack on a cache or,

880
01:36:47,320 --> 01:36:52,040
you know, you might scatter them all over the place, but it's, you know, you don't have to

881
01:36:52,040 --> 01:37:01,880
then go and manually repoint your TMKMS node. And also, it's hard to keep a spare node ready

882
01:37:01,880 --> 01:37:12,520
and synced as a spare for your TMKMS because it won't progress blocks until you connect a

883
01:37:12,520 --> 01:37:17,480
TMKMS instance to it, which means it could have a lot of catch up to do unless you keep it synced,

884
01:37:17,480 --> 01:37:26,200
and then you have to manually go and change it to accept a connection from your, your TMKMS,

885
01:37:26,200 --> 01:37:30,600
but then you actually have to restart it. And if that's on a cache, restarting it might mean that

886
01:37:30,600 --> 01:37:37,960
you have to actually redeploy the instance. So you just shouldn't run that on a cache,

887
01:37:37,960 --> 01:37:43,000
you should just run that on a cache. No, no, your sentry node I'm talking about.

888
01:37:43,000 --> 01:37:46,680
Oh, right. Yeah, okay. Because you have to change. It would take a couple of seconds, yeah, yeah.

889
01:37:47,400 --> 01:37:53,560
Yeah, well, with persistent storage now would, but previously they didn't have persistent storage.

890
01:37:53,560 --> 01:38:00,200
And if you had to restart it after download a snapshot and re-sync. So it could take quite

891
01:38:00,200 --> 01:38:09,080
a long time. Like I used to run a Juno testnet validator on a cache a while ago, just as a test.

892
01:38:09,800 --> 01:38:16,600
And it was interesting when I told Jacob, of course, Jacob wanted to destroy my toy. So

893
01:38:17,880 --> 01:38:27,080
he, it had a RPC port open on it as well. And basically you just spam the shit out of the RPC

894
01:38:27,080 --> 01:38:35,240
port until the process and it reset, but it couldn't get back up to the head before it got jailed. So

895
01:38:36,360 --> 01:38:42,760
while it did come back up, it got jailed. It was interesting. But it just takes a long time.

896
01:38:42,760 --> 01:38:48,840
But now, you know, there's beginning to be some more options available to be able to

897
01:38:48,840 --> 01:38:59,640
reliably using a cache to, you know, have a no downtime set up. So it's certain and it's a big

898
01:38:59,640 --> 01:39:06,440
step. I don't, I can't express enough how much of a big step it is to be able to get direct access

899
01:39:07,480 --> 01:39:13,800
via an API to, to people who are providing snapshots around the community.

900
01:39:13,800 --> 01:39:22,360
Anyway, that's pretty rad. So that's all I'm excited about this week. So it's gonna be pretty

901
01:39:22,360 --> 01:39:45,160
fucking rad. Let's go.

