Skip to content

Instantly share code, notes, and snippets.

@do6Wkg7O
Created Aug 25, 2021
Embed
What would you like to do?
Subtitles for "Tutorial | Algorithms and Compute Jobs live on Ocean Market 🌊" YouTube Video
1
00:00:01,280 --> 00:00:06,560
Welcome everyone to this first demo of
compute-to-data in the Ocean Market.
2
00:00:07,440 --> 00:00:11,600
Before we begin let's look at some concepts,
what we mean with compute-to-data.
3
00:00:11,600 --> 00:00:16,800
The value proposition is that it's buy and 
sell private data while preserving privacy.
4
00:00:17,760 --> 00:00:23,120
In the implementation this means there is a 
dataset, which is not allowed to leave the 
5
00:00:23,120 --> 00:00:30,720
premises of the respective data owner, while at 
the same time an algorithm, a small piece of code
6
00:00:30,720 --> 00:00:34,960
is allowed to run on this dataset under certain conditions.
7
00:00:35,840 --> 00:00:39,120
While we always had compute-to-data environments running
8
00:00:39,120 --> 00:00:44,320
in the wild, in marketplaces I'm not allowed to talk about.
9
00:00:44,320 --> 00:00:48,480
There was never the completely public use case of Ocean Market considered, 
10
00:00:49,360 --> 00:00:53,040
so the Ocean Market team set out to create a solution
11
00:00:54,240 --> 00:01:01,280
with the guiding principle that the data set is always going to be private.
12
00:01:02,720 --> 00:01:08,560
How we decided to do that technically, is 
essentially that we now have a new asset type,
13
00:01:09,520 --> 00:01:13,920
essentially algorithms and before that we only had datasets.
14
00:01:14,560 --> 00:01:21,120
So technically this means that in our DDO to the 
type dataset, we now have a type "algorithm".
15
00:01:22,000 --> 00:01:26,720
And as you see as an example, a dataset file for instance could be a CSV file
16
00:01:26,720 --> 00:01:32,240
and an algorithm could be in this case
a small Node.js app, which does something.
17
00:01:33,520 --> 00:01:38,160
At the same time algorithms have a bit more rules attached to them.
18
00:01:38,160 --> 00:01:43,920
In this case we decided to allow algorithms
to be either public or private.
19
00:01:44,800 --> 00:01:48,240
In the implementation this means that just like datasets, 
20
00:01:48,240 --> 00:01:51,440
when algorithms are public they can be downloaded,
21
00:01:51,440 --> 00:01:53,840
meaning bought for the set price.
22
00:01:55,040 --> 00:02:00,080
But when they're set to private,
they're essentially not accessible.
23
00:02:00,080 --> 00:02:03,680
While technically this means in the 
background we set a compute service,
24
00:02:03,680 --> 00:02:08,960
we decided in the UI to not expose compute-to-data 
25
00:02:08,960 --> 00:02:13,280
onto an algorithm, to keep the use cases a bit more simple.
26
00:02:15,680 --> 00:02:19,360
When looking at this general data flow, this user flow,
27
00:02:19,360 --> 00:02:25,440
this means we are going to have a data set,
which is published with a service,
28
00:02:26,080 --> 00:02:29,760
compute service and at the same time an algorithm,
29
00:02:29,760 --> 00:02:34,240
which is published as a type algorithm and the publisher can then 
30
00:02:34,240 --> 00:02:38,000
connect those two and from a general user perspective,
31
00:02:39,200 --> 00:02:46,240
they can then combine those, the dataset 
and the algorithm, and run a compute job.
32
00:02:47,040 --> 00:02:52,720
What we mean by that is essentially that the data consumer or 
33
00:02:52,720 --> 00:02:59,040
the person running the compute job
will order the dataset and the algorithm,
34
00:02:59,040 --> 00:03:02,640
so we'll pay the sum of both prices.
35
00:03:02,640 --> 00:03:04,400
In that scenario this also means  
36
00:03:05,760 --> 00:03:11,920
that, just as datasets, algorithms can have both a pool
or a fixed price.
37
00:03:13,600 --> 00:03:17,840
Essentially exposing small little algorithms to the same
38
00:03:18,480 --> 00:03:22,240
automated market maker use cases we have for datasets.
39
00:03:23,520 --> 00:03:28,800
Once a compute job starts, it means that there is a Kubernetes 
40
00:03:28,800 --> 00:03:34,000
environment, in which pot is spotting up.
41
00:03:35,840 --> 00:03:39,920
This also means that this is another centralized component, 
42
00:03:39,920 --> 00:03:42,880
where we already have our provider,
43
00:03:43,760 --> 00:03:46,880
where we now have the operator service and the operator engine 
44
00:03:46,880 --> 00:03:49,760
and the various other smaller microservices.
45
00:03:50,400 --> 00:03:54,160
And just as with the provider, this would be up to the 
46
00:03:55,040 --> 00:03:59,120
respective marketplace owner to properly control it
47
00:03:59,120 --> 00:04:03,360
and guarantee no data exposure.
48
00:04:03,360 --> 00:04:06,400
Continuing in our general user flow, when the compute job 
49
00:04:06,400 --> 00:04:13,680
is started and it's running, user 
can in the end access compute results,
50
00:04:13,680 --> 00:04:16,400
which are essentially log outputs,
51
00:04:16,400 --> 00:04:22,240
so every algorithm has certain access to the underlying parts.
52
00:04:22,240 --> 00:04:25,680
So in this case for instance, there could be an output directory 
53
00:04:26,320 --> 00:04:29,840
and in there the algorithm can write results
54
00:04:30,800 --> 00:04:33,920
and on the market we simply display them.
55
00:04:35,200 --> 00:04:42,160
As for a publisher, it essentially comes down to this process.
56
00:04:42,160 --> 00:04:45,600
Every publisher gets a new edit action on every dataset 
57
00:04:46,240 --> 00:04:52,720
with a compute service and on there, the publisher either
58
00:04:54,080 --> 00:04:58,720
allows selected algorithms, which is basically a list of all 
59
00:04:58,720 --> 00:05:03,680
algorithms published in the market
or simply allows all published algorithms.
60
00:05:04,560 --> 00:05:07,360
We also decided for the private by default use case, 
61
00:05:07,360 --> 00:05:11,840
so every compute dataset by default
62
00:05:11,840 --> 00:05:18,480
has no permissions attached to it, so there is
simply an empty list of algorithms.
63
00:05:20,960 --> 00:05:25,600
And now let's look at all those concepts in reality.
64
00:05:26,720 --> 00:05:30,160
Let's look at the compute-to-data changes in the UI.
65
00:05:30,160 --> 00:05:32,800
We're currently looking at our staging version,
66
00:05:32,800 --> 00:05:35,600
where we put everything together for the last two months.
67
00:05:36,560 --> 00:05:40,320
And as you see, pointed against Ethereum mainnet 
68
00:05:40,320 --> 00:05:43,680
there's not much going on regarding a compute-to-data,
69
00:05:43,680 --> 00:05:46,880
but you already see some differences on the asset teasers, 
70
00:05:46,880 --> 00:05:52,000
we now output the type of asset and the type of access on them.
71
00:05:53,760 --> 00:05:58,720
We ourselves use the Rinkeby to test our compute-to-data, 
72
00:05:59,280 --> 00:06:01,760
but for the sake of this demo we're going to
73
00:06:01,760 --> 00:06:07,200
Polygon (Matic), which we also suggest to use,
especially for computer data,
74
00:06:07,920 --> 00:06:11,840
considering there are a bunch of more transactions involved, 
75
00:06:11,840 --> 00:06:16,720
than for downloading, because essentially 
two assets are going to be ordered.
76
00:06:18,880 --> 00:06:22,560
If we look at the UI, you already see some changes here, 
77
00:06:22,560 --> 00:06:26,560
there is a dataset which telling us by this icon,
78
00:06:26,560 --> 00:06:34,240
that this is a compute asset and over here we
have another type of asset, this algorithm which,
79
00:06:35,040 --> 00:06:38,320
by this icon tells us it can be downloaded.
80
00:06:39,760 --> 00:06:42,240
When it comes to an algorithm and it's presentation, 
81
00:06:42,240 --> 00:06:45,440
it's not much different than from a dataset,
82
00:06:46,000 --> 00:06:50,080
same mechanisms regarding the pricing, in this case it's a pool.
83
00:06:50,960 --> 00:06:56,480
And one difference is that in this case we output the Docker image, 
84
00:06:57,520 --> 00:07:01,840
which is going to be used with this algorithm.
85
00:07:01,840 --> 00:07:12,080
When it then comes to the respective dataset,
in this case this is our new compute UI and
86
00:07:13,120 --> 00:07:18,000
the state of this UI is basically that on this dataset, 
87
00:07:18,720 --> 00:07:23,760
this algorithm we just looked at has been allowed to run.
88
00:07:23,760 --> 00:07:25,840
Now let's look at the publisher perspective.
89
00:07:26,720 --> 00:07:30,000
So let's say I'm a publisher and I want to have this algorithm
90
00:07:30,000 --> 00:07:36,480
also run on my own dataset so, as before I would first come up with
91
00:07:36,480 --> 00:07:57,840
my dataset, I'm gonna copy that, some example dataset over.
92
00:07:57,840 --> 00:07:59,920
So this should work as is.
93
00:08:01,520 --> 00:08:06,960
And then, let's quickly fill out that.
94
00:08:08,240 --> 00:08:14,560
And, quickly put in our dataset file.
95
00:08:19,200 --> 00:08:20,800
And a sample file.
96
00:08:21,840 --> 00:08:29,120
And as you now see, to the access type,
we now also have a compute, in addition
97
00:08:29,120 --> 00:08:39,840
to download and just gonna go through with that.
98
00:08:42,960 --> 00:08:50,320
And now create the data token
and after that publish the metadata on-chain.
99
00:08:52,800 --> 00:09:07,840
And at the very end we're 
also gonna create some price for it.
100
00:09:19,760 --> 00:09:21,840
Okay, this was faster than expected.
101
00:09:26,960 --> 00:09:35,920
And I think we're already there.
102
00:09:35,920 --> 00:09:39,680
And should get the success message in a second.
103
00:09:40,960 --> 00:09:41,600
There we go.
104
00:09:43,680 --> 00:09:49,440
Now we have published this as a new asset and
a lot of compute on it and as you see, by default,
105
00:09:49,440 --> 00:09:54,960
nothing is allowed on it, but for now let's first
also create quickly a pool for it.
106
00:09:56,720 --> 00:10:00,880
Let's keep it cheap, put 50 Ocean in there.
107
00:10:02,560 --> 00:10:03,840
It's a higher swap fee.
108
00:10:08,160 --> 00:10:17,840
And create a pool for it.
109
00:10:21,920 --> 00:10:26,000
So nothing changed here, this is the flow as before, 
110
00:10:26,000 --> 00:10:29,280
except for this changed compute-to-data interface.
111
00:10:30,720 --> 00:10:33,040
Obviously it makes sense when allowing
112
00:10:33,040 --> 00:10:37,920
compute on one's asset to first have a price,
that's why I'm gonna do this all first.
113
00:10:44,480 --> 00:10:59,840
And after creating a pool and moving #OCEAN into it.
114
00:11:19,520 --> 00:11:20,320
Almost there.
115
00:11:25,040 --> 00:11:27,840
Approving to spend all the things.
116
00:11:41,120 --> 00:11:55,840
Now finally throwing everything into the pool.
117
00:12:08,640 --> 00:12:09,440
There we go.
118
00:12:09,440 --> 00:12:13,680
To be safe, reload the page and there we have it, we now have a pool.
119
00:12:15,680 --> 00:12:17,840
So far nothing new,
120
00:12:17,840 --> 00:12:23,200
but under the asset there is now a new setting
called Edit Compute Settings.
121
00:12:23,200 --> 00:12:25,600
And as the publisher,
122
00:12:27,280 --> 00:12:33,840
you were then, on this new screen, 
allowed to set the allowed algorithms.
123
00:12:33,840 --> 00:12:36,080
So as you see, by default, nothing is selected.
124
00:12:36,080 --> 00:12:40,640
In this case we exactly wanted to have this data points algorithm,
125
00:12:41,280 --> 00:12:45,200
so we do that and allow it to be ran on it.
126
00:12:46,400 --> 00:13:05,840
This again is a metadata update transaction,
so, still have to use MetaMask for that.
127
00:13:09,040 --> 00:13:12,080
And after the dataset is updated, this  
128
00:13:12,640 --> 00:13:19,840
algorithm is now allowed to run on this dataset by everybody.
129
00:13:24,080 --> 00:13:26,800
Now let's do the same for an algorithm.
130
00:13:26,800 --> 00:13:31,600
Let's say I'm the publisher of this data set
and I want to have my own algorithm on here.
131
00:13:32,480 --> 00:13:34,880
Let's say as an example, we're gonna publish in  
132
00:13:35,600 --> 00:13:39,680
the same algorithm as this, but with a fixed price.
133
00:13:40,240 --> 00:13:44,960
So as before, but this time we go to Algorithm 
134
00:13:46,160 --> 00:13:54,560
and I'm gonna copy over all the data 
you need for that, to keep it quick.
135
00:13:57,280 --> 00:14:03,360
And in this case, I simply use a secret Gist  
136
00:14:05,360 --> 00:14:11,920
on GitHub for this algorithm, so it's worth quickly looking at that.
137
00:14:11,920 --> 00:14:13,920
So this is a typical algorithm,
138
00:14:13,920 --> 00:14:17,680
there are a bunch of rules around that,
which we're going to document in our docs,
139
00:14:18,720 --> 00:14:20,880
but the basic principle is that  
140
00:14:21,920 --> 00:14:27,120
the algorithm has an input folder and access to an output folder.
141
00:14:28,320 --> 00:14:36,720
And during the time of running it can 
simply write files only to this folder.
142
00:14:37,360 --> 00:14:43,840
And in this case we are ending up 
with a output log and a result log,
143
00:14:43,840 --> 00:14:48,640
which is essentially the console logs being output.
144
00:14:50,640 --> 00:14:55,520
So in this case I simply use the raw 
link for that and this is a secret Gist,
145
00:14:55,520 --> 00:14:57,840
so it's not so easy to access.
146
00:14:58,480 --> 00:15:01,920
This is just as an example, but typically the algorithm would be 
147
00:15:01,920 --> 00:15:06,000
hosted as a file somewhere, just for this example I used this.
148
00:15:08,240 --> 00:15:12,320
If we move on, we say okay, this is a Node.js app, 
149
00:15:13,600 --> 00:15:18,560
so we're going to use the latest node, it can be also used forever.
150
00:15:19,520 --> 00:15:26,480
We're going to allow downloading of it
to keep it simple and this was actually
151
00:15:26,480 --> 00:15:28,720
created by us, as an example.
152
00:15:31,440 --> 00:15:39,840
And we're quickly publishing this.
153
00:15:49,600 --> 00:15:53,360
Again, same thing as with datasets is happening.
154
00:15:53,360 --> 00:16:00,160
I'm going to create a data token, I will then encrypt the file URL, 
155
00:16:00,160 --> 00:16:07,760
put this all into a DDO, which is then ending up on-chain.
156
00:16:10,880 --> 00:16:16,400
And once we're finished, for this algorithm we're going to create
157
00:16:17,760 --> 00:16:23,120
simply a cheap fixed price, so it can be just used easily.
158
00:16:26,560 --> 00:16:35,840
And again, we should be actually already done.
159
00:16:40,320 --> 00:16:43,280
There we go, now we have our algorithm.
160
00:16:44,880 --> 00:16:47,600
Let's quickly create a fixed price,
161
00:16:47,600 --> 00:16:49,840
keep it cheap, 1 Ocean.
162
00:16:56,320 --> 00:17:03,840
In the background creating a fixed rate exchange for that.
163
00:17:42,560 --> 00:17:46,720
And now we are almost done in our pricing flow.
164
00:17:59,600 --> 00:18:03,840
And now we have it here for 1 Ocean, there we go.
165
00:18:05,600 --> 00:18:10,320
Now we're trying to find our recently published dataset, 
166
00:18:10,320 --> 00:18:14,880
where we now can simply go into Compute Settings.
167
00:18:16,800 --> 00:18:19,360
And the new one shows up, we allow it.
168
00:18:20,720 --> 00:18:27,840
Same thing again, updating the metadata.
169
00:18:35,760 --> 00:18:44,240
And after this transaction is done, we 
should be able to select two algorithms.
170
00:18:47,200 --> 00:18:49,280
There we go, here's our fixed price.
171
00:18:54,160 --> 00:18:57,920
And now let's look at actually starting a compute job on a dataset.
172
00:18:58,560 --> 00:18:59,760
Switch to a new account.
173
00:19:01,920 --> 00:19:03,120
Put some money into it.
174
00:19:04,000 --> 00:19:05,360
So, let's see.
175
00:19:07,840 --> 00:19:13,680
Let's first go to this dataset and we want to run this algorithm on it.
176
00:19:14,400 --> 00:19:18,560
All the prices are put together and because both of them 
177
00:19:18,560 --> 00:19:20,720
have a timeout, we're buying them for one hour.
178
00:19:22,800 --> 00:19:29,760
And we're going to buy both assets,
which means a lot of transactions in between.
179
00:19:30,560 --> 00:19:36,640
And with a fresh account, we're also getting all of them in one flow,
180
00:19:37,920 --> 00:19:42,240
because once you have bought it you can most likely, 
181
00:19:42,240 --> 00:19:46,240
in most circumstances, start a compute job again without paying again,
182
00:19:46,240 --> 00:19:53,120
this will be then also always reflected down here,
based on the timeout on each asset.
183
00:19:55,840 --> 00:20:05,840
Which is, by default, set to forever and 
it's up to the publisher setting that.
184
00:20:06,800 --> 00:20:15,200
Now, we already have bought the dataset token,
now we're buying the algorithm data token.
185
00:20:17,120 --> 00:20:34,320
And also allowing to spend multiple currencies.
186
00:20:34,320 --> 00:20:40,240
And by seeing this, you can probably imagine 
why we suggest doing this on Polygon.
187
00:20:42,240 --> 00:20:47,840
And after we have all those transactions.
188
00:20:49,040 --> 00:20:51,120
Okay, this was interesting, at the same time.
189
00:20:58,240 --> 00:21:15,840
The final step then will be to simply sign 
the compute job and then it's going to be ran.
190
00:21:15,840 --> 00:21:16,880
Not yet.
191
00:21:19,200 --> 00:21:29,840
Still interacting with the final dataset as it looks like, algorithm.
192
00:21:31,520 --> 00:21:34,880
And now we're signing to start the actual job.
193
00:21:37,040 --> 00:21:39,040
And there we see, okay, it started.
194
00:21:40,640 --> 00:21:50,000
And for now we can go to our History and 
there you see that our compute job is running.
195
00:21:51,840 --> 00:21:58,080
As it is right now, we don't have a smart refetch thingy going on here, 
196
00:21:58,080 --> 00:22:01,120
so for now it's all about switching the tabs.
197
00:22:02,640 --> 00:22:04,960
In general, everything regarding the
198
00:22:04,960 --> 00:22:08,320
outputs is definitely something we're going to look 
199
00:22:08,320 --> 00:22:11,840
into further, to improve on the usability,
200
00:22:12,960 --> 00:22:16,880
but as soon as this is 
basically finished you will get a button, 
201
00:22:17,600 --> 00:22:20,480
which upon clicking reveals the results.
202
00:22:20,480 --> 00:22:22,320
Again this also needs to be signed,
203
00:22:23,280 --> 00:22:29,440
so it's it's also not just a public link accessible for everybody, 
204
00:22:29,440 --> 00:22:40,080
so only for the consumer of the compute job.
205
00:22:40,080 --> 00:22:43,200
And we already see the results are already published.
206
00:22:47,760 --> 00:22:53,840
Which as of right now is not as smart, decentralized publishing, 
207
00:22:53,840 --> 00:22:58,320
it's simply put into an S3 bucket for now.
208
00:22:58,320 --> 00:23:01,440
And again this is the whole compute-to-data infrastructure, 
209
00:23:01,440 --> 00:23:06,080
which is up to the marketplace owner to run
210
00:23:06,080 --> 00:23:08,400
and maintain and this would be then also something.
211
00:23:09,520 --> 00:23:13,520
The marketplace owner would decide where to store those results.
212
00:23:14,720 --> 00:23:19,760
As it is right now, we now see, okay,
job finished, written about in a minute.
213
00:23:21,440 --> 00:23:23,520
And now the button becomes active.
214
00:23:27,440 --> 00:23:31,120
We sign it and there we have our log.
215
00:23:31,120 --> 00:23:44,240
As you see you can simply download it, it's also 
streamed down and you see we have 114191 lines.
216
00:23:45,280 --> 00:23:49,840
So this is coming directly as the output from the algorithm.
217
00:23:51,120 --> 00:24:03,840
And this so far is our first interface for compute-to-data.
1
00:00:01,280 --> 00:00:06,560
Καλώς ήρθατε όλοι σε αυτή την πρώτη επίδειξη του
υπολογισμού σε δεδομένα στο Ocean Market.
2
00:00:07,440 --> 00:00:11,600
Πριν ξεκινήσουμε, ας δούμε μερικές έννοιες,
τι εννοούμε με την έννοια υπολογισμός σε δεδομένα.
3
00:00:11,600 --> 00:00:16,800
Η ιδέα είναι ότι αγοράζει και πωλεί ιδιωτικά δεδομένα
διατηρώντας παράλληλα την ιδιωτικότητα.
4
00:00:17,760 --> 00:00:23,120
Στην εφαρμογή αυτό σημαίνει ότι υπάρχει ένα σύνολο δεδομένων,
το οποίο δεν επιτρέπεται να εγκαταλείψει τις 
5
00:00:23,120 --> 00:00:30,720
εγκαταστάσεις του εκάστοτε ιδιοκτήτη των δεδομένων,
ενώ ταυτόχρονα ένας αλγόριθμος, ένα μικρό κομμάτι κώδικα
6
00:00:30,720 --> 00:00:34,960
επιτρέπεται να εκτελεστεί σε αυτό το
σύνολο δεδομένων υπό ορισμένες προϋποθέσεις.
7
00:00:35,840 --> 00:00:39,120
Ενώ πάντα είχαμε περιβάλλοντα υπολογισμού σε δεδομένα που λειτουργούσαν
8
00:00:39,120 --> 00:00:44,320
ελεύθερα, σε αγορές για τις οποίες δεν μου επιτρέπεται να μιλήσω.
9
00:00:44,320 --> 00:00:48,480
Ποτέ δεν εξετάστηκε η εντελώς δημόσια χρήση του Ocean Market,
10
00:00:49,360 --> 00:00:53,040
έτσι η ομάδα Ocean Market ξεκίνησε να δημιουργεί μια λύση
11
00:00:54,240 --> 00:01:01,280
με βασική αρχή ότι το σύνολο των δεδομένων θα είναι πάντα ιδιωτικό.
12
00:01:02,720 --> 00:01:08,560
Ο τρόπος με τον οποίο αποφασίσαμε να το κάνουμε αυτό τεχνικά,
είναι ουσιαστικά ότι τώρα έχουμε έναν νέο τύπο περιουσιακού στοιχείου,
13
00:01:09,520 --> 00:01:13,920
ουσιαστικά αλγορίθμους και πριν από αυτό είχαμε μόνο σύνολα δεδομένων.
14
00:01:14,560 --> 00:01:21,120
Έτσι, τεχνικά αυτό σημαίνει ότι στο Έγραφο Αποκεντρωμένου Αναγνωριστικού (DDO)
μας στον τύπο συνόλου δεδομένων, έχουμε τώρα έναν τύπο "algorithm".
15
00:01:22,000 --> 00:01:26,720
Και όπως βλέπετε ως παράδειγμα, ένα αρχείο συνόλου δεδομένων
θα μπορούσε να είναι για παράδειγμα ένα αρχείο CSV
16
00:01:26,720 --> 00:01:32,240
και ένας αλγόριθμος θα μπορούσε να είναι σε αυτή την περίπτωση
μια μικρή εφαρμογή Node.js, η οποία κάνει κάτι.
17
00:01:33,520 --> 00:01:38,160
Ταυτόχρονα, οι αλγόριθμοι έχουν λίγους
περισσότερους κανόνες με τους οποίους συνδέονται.
18
00:01:38,160 --> 00:01:43,920
Σε αυτή την περίπτωση αποφασίσαμε να επιτρέψουμε
στους αλγορίθμους να είναι είτε δημόσιοι είτε ιδιωτικοί.
19
00:01:44,800 --> 00:01:48,240
Στην εφαρμογή αυτό σημαίνει ότι όπως ακριβώς και τα σύνολα δεδομένων,
20
00:01:48,240 --> 00:01:51,440
όταν οι αλγόριθμοι είναι δημόσιοι, μπορούν να κατέβουν,
21
00:01:51,440 --> 00:01:53,840
δηλαδή να αγοραστούν στην καθορισμένη τιμή.
22
00:01:55,040 --> 00:02:00,080
Αλλά όταν έχουν οριστεί ως ιδιωτικοί, ουσιαστικά δεν είναι προσβάσιμοι.
23
00:02:00,080 --> 00:02:03,680
Ενώ τεχνικά αυτό σημαίνει ότι στο παρασκήνιο
ρυθμίζουμε μια υπολογιστική υπηρεσία,
24
00:02:03,680 --> 00:02:08,960
αποφασίσαμε στην διεπαφή χρήστη να μην εκθέσουμε
την υπηρεσία υπολογισμού σε δεδομένα
25
00:02:08,960 --> 00:02:13,280
σε έναν αλγόριθμο, για να διατηρήσουμε τις περιπτώσεις χρήσης λίγο πιο απλές.
26
00:02:15,680 --> 00:02:19,360
Όταν εξετάζουμε αυτή τη γενική ροή δεδομένων, αυτή τη ροή χρηστών,
27
00:02:19,360 --> 00:02:25,440
αυτό σημαίνει ότι θα έχουμε ένα σύνολο δεδομένων,
το οποίο δημοσιεύεται με μια υπηρεσία,
28
00:02:26,080 --> 00:02:29,760
υπηρεσία υπολογισμού και ταυτόχρονα έναν αλγόριθμο,
29
00:02:29,760 --> 00:02:34,240
ο οποίος δημοσιεύεται ως τύπος αλγορίθμου
και ο εκδότης μπορεί στη συνέχεια να
30
00:02:34,240 --> 00:02:38,000
συνδέσει αυτά τα δύο και από τη γενική οπτική γωνία του χρήστη,
31
00:02:39,200 --> 00:02:46,240
μπορεί στη συνέχεια να συνδυάσει αυτά, το σύνολο δεδομένων
και τον αλγόριθμο, και να εκτελέσει μια υπολογιστική εργασία.
32
00:02:47,040 --> 00:02:52,720
Αυτό που εννοούμε με αυτό είναι ουσιαστικά ότι ο καταναλωτής δεδομένων ή
33
00:02:52,720 --> 00:02:59,040
το άτομο που εκτελεί την υπολογιστική εργασία
θα παραγγείλει το σύνολο δεδομένων και τον αλγόριθμο,
34
00:02:59,040 --> 00:03:02,640
οπότε θα πληρώσουμε το άθροισμα και των δύο τιμών.
35
00:03:02,640 --> 00:03:04,400
Σε αυτό το σενάριο αυτό σημαίνει επίσης
36
00:03:05,760 --> 00:03:11,920
ότι, όπως και τα σύνολα δεδομένων,
οι αλγόριθμοι μπορούν να έχουν ένα κοινόχρηστο ταμείο όσο και μια σταθερή τιμή.
37
00:03:13,600 --> 00:03:17,840
Ουσιαστικά εκθέτοντας μικρούς αλγορίθμους στις ίδιες
38
00:03:18,480 --> 00:03:22,240
περιπτώσεις χρήσης του αυτοματοποιημένου ειδικού διαπραγματευτή
που έχουμε για σύνολα δεδομένων.
39
00:03:23,520 --> 00:03:34,000
Μόλις ξεκινήσει μια υπολογιστική εργασία,
σημαίνει ότι τρέχει ένα περιβάλλον Kubernetes.
41
00:03:35,840 --> 00:03:39,920
Αυτό σημαίνει επίσης ότι πρόκειται για ένα ακόμη κεντροποιημένο στοιχείο,
42
00:03:39,920 --> 00:03:42,880
όπου έχουμε ήδη τον πάροχό μας,
43
00:03:43,760 --> 00:03:46,880
όπου τώρα έχουμε την υπηρεσία χειριστή και τη μηχανή χειριστή
44
00:03:46,880 --> 00:03:49,760
και τις διάφορες άλλες μικρότερες μικρουπηρεσίες.
45
00:03:50,400 --> 00:03:54,160
Και όπως ακριβώς και με τον πάροχο, αυτό θα εξαρτηθεί από τον
46
00:03:55,040 --> 00:03:59,120
ιδιοκτήτη της αντίστοιχης αγοράς να το ελέγχει σωστά
47
00:03:59,120 --> 00:04:03,360
και να εγγυηθεί ότι δεν θα εκτεθούν δεδομένα.
48
00:04:03,360 --> 00:04:06,400
Συνεχίζοντας με τη γενική ροή χρήστη, όταν η υπολογιστική εργασία
49
00:04:06,400 --> 00:04:13,680
έχει ξεκινήσει και εκτελείται, ο χρήστης μπορεί στο τέλος
να έχει πρόσβαση στα αποτελέσματα του υπολογισμού,
50
00:04:13,680 --> 00:04:16,400
τα οποία είναι ουσιαστικά εκροές καταγραφής,
51
00:04:16,400 --> 00:04:22,240
έτσι ώστε κάθε αλγόριθμος να έχει ορισμένη πρόσβαση στα υποκείμενα μέρη.
52
00:04:22,240 --> 00:04:25,680
Έτσι, σε αυτή την περίπτωση, για παράδειγμα,
θα μπορούσε να υπάρχει ένας κατάλογος εκροής
53
00:04:26,320 --> 00:04:29,840
και εκεί ο αλγόριθμος μπορεί να γράψει τα αποτελέσματα
54
00:04:30,800 --> 00:04:33,920
και στην αγορά απλά να τα εμφανίζουμε.
55
00:04:35,200 --> 00:04:42,160
Όσον αφορά έναν εκδότη, ουσιαστικά καταλήγει σε αυτή τη διαδικασία.
56
00:04:42,160 --> 00:04:45,600
Κάθε εκδότης λαμβάνει μια νέα ενέργεια επεξεργασίας σε κάθε σύνολο δεδομένων
57
00:04:46,240 --> 00:04:52,720
με μια υπολογιστική υπηρεσία και εκεί, ο εκδότης είτε
58
00:04:54,080 --> 00:04:58,720
επιτρέπει επιλεγμένους αλγορίθμους,
οι οποίοι ουσιαστικά είναι ένας κατάλογος όλων των
59
00:04:58,720 --> 00:05:03,680
αλγορίθμων που έχουν δημοσιευτεί στην αγορά
ή απλά επιτρέπει όλους τους δημοσιευμένους αλγορίθμους.
60
00:05:04,560 --> 00:05:07,360
Αποφασίσαμε επίσης την περίπτωση χρήσης ιδιωτικό από προεπιλογή,
61
00:05:07,360 --> 00:05:11,840
έτσι ώστε κάθε υπολογιστικό σύνολο δεδομένων από προεπιλογή
62
00:05:11,840 --> 00:05:18,480
δεν έχει άδειες που συνδέονται με αυτό, οπότε υπάρχει
απλά μια κενή λίστα αλγορίθμων.
63
00:05:20,960 --> 00:05:25,600
Και τώρα ας δούμε όλες αυτές τις έννοιες στην πραγματικότητα.
64
00:05:26,720 --> 00:05:30,160
Ας δούμε τις αλλαγές του υπολογισμού σε δεδομένα στη διεπαφή χρήστη.
65
00:05:30,160 --> 00:05:32,800
Προς το παρόν εξετάζουμε την δοκιμαστική έκδοση,
66
00:05:32,800 --> 00:05:35,600
όπου τα έχουμε συναρμολογήσει όλα τους τελευταίους δύο μήνες.
67
00:05:36,560 --> 00:05:40,320
Και όπως βλέπετε, κατευθυνόμενοι στο κύριο δίκτυο του Ethereum
68
00:05:40,320 --> 00:05:43,680
δεν συμβαίνουν και πολλά όσον αφορά τον υπολογισμό σε δεδομένα,
69
00:05:43,680 --> 00:05:46,880
αλλά βλέπετε ήδη κάποιες διαφορές στα ήδη υπάρχοντα περιουσιακά στοιχεία,
70
00:05:46,880 --> 00:05:52,000
τώρα εξάγουμε τον τύπο του περιουσιακού στοιχείου
και τον τύπο πρόσβασης σε αυτά.
71
00:05:53,760 --> 00:05:58,720
Εμείς οι ίδιοι χρησιμοποιούμε το Rinkeby
για να δοκιμάσουμε τον υπολογισμό σε δεδομένα,
72
00:05:59,280 --> 00:06:01,760
αλλά για χάρη αυτής της επίδειξης θα χρησιμοποιήσουμε το
73
00:06:01,760 --> 00:06:07,200
Polygon (Matic), το οποίο προτείνουμε επίσης να χρησιμοποιήσετε,
ειδικά για δεδομένα υπολογιστή,
74
00:06:07,920 --> 00:06:11,840
λαμβάνοντας υπόψη ότι εμπλέκονται ένα σωρό περισσότερες συναλλαγές,
75
00:06:11,840 --> 00:06:16,720
από ό,τι για τη λήψη, επειδή ουσιαστικά πρόκειται
να παραγγελθούν δύο περιουσιακά στοιχεία.
76
00:06:18,880 --> 00:06:22,560
Αν κοιτάξουμε την διεπαφή χρήστη, μπορείτε ήδη να δείτε κάποιες αλλαγές εδώ,
77
00:06:22,560 --> 00:06:26,560
υπάρχει ένα σύνολο δεδομένων που μας ενημερώνει με αυτό το εικονίδιο,
78
00:06:26,560 --> 00:06:34,240
ότι αυτό είναι ένα υπολογιστικό περιουσιακό στοιχείο και εδώ πέρα
έχουμε έναν άλλο τύπο περιουσιακού στοιχείου, αυτόν τον αλγόριθμο όπου,
79
00:06:35,040 --> 00:06:38,320
από αυτό το εικονίδιο μας λέει ότι μπορεί να κατεβεί.
80
00:06:39,760 --> 00:06:42,240
Όταν πρόκειται για έναν αλγόριθμο και την παρουσίασή του,
81
00:06:42,240 --> 00:06:45,440
δεν διαφέρει πολύ από ένα σύνολο δεδομένων,
82
00:06:46,000 --> 00:06:50,080
οι ίδιοι μηχανισμοί όσον αφορά την τιμολόγηση,
στην περίπτωση αυτή είναι ένα κοινόχρηστο ταμείο.
83
00:06:50,960 --> 00:06:56,480
Και μια διαφορά είναι ότι σε αυτή την περίπτωση εξάγουμε την εικόνα Docker,
84
00:06:57,520 --> 00:07:01,840
η οποία θα χρησιμοποιηθεί με αυτόν τον αλγόριθμο.
85
00:07:01,840 --> 00:07:12,080
Όταν πρόκειται στη συνέχεια για το αντίστοιχο σύνολο δεδομένων,
σε αυτή την περίπτωση αυτή είναι η νέα μας υπολογιστική διεπαφή χρήστη και
86
00:07:13,120 --> 00:07:18,000
η κατάσταση αυτής της διεπαφής χρήστη
είναι βασικά ότι σε αυτό το σύνολο δεδομένων,
87
00:07:18,720 --> 00:07:23,760
αυτός ο αλγόριθμος που μόλις είδαμε έχει επιτραπεί να εκτελεστεί.
88
00:07:23,760 --> 00:07:25,840
Τώρα ας δούμε την προοπτική του εκδότη.
89
00:07:26,720 --> 00:07:30,000
Ας πούμε λοιπόν ότι είμαι εκδότης και θέλω να έχω τον εξής αλγόριθμο
90
00:07:30,000 --> 00:07:36,480
να εκτελείται και στο δικό μου σύνολο δεδομένων,
οπότε, όπως και πριν, θα έβρισκα πρώτα
91
00:07:36,480 --> 00:07:57,840
το δικό μου σύνολο δεδομένων, θα αντιγράψω,
κάποιο παράδειγμα συνόλου δεδομένων.
92
00:07:57,840 --> 00:07:59,920
Οπότε αυτό θα πρέπει να λειτουργήσει ως έχει.
93
00:08:01,520 --> 00:08:06,960
Και στη συνέχεια, ας το συμπληρώσουμε γρήγορα.
94
00:08:08,240 --> 00:08:14,560
Και, ας βάλουμε γρήγορα το αρχείο συνόλου δεδομένων μας.
95
00:08:19,200 --> 00:08:20,800
Και ένα δείγμα αρχείου.
96
00:08:21,840 --> 00:08:29,120
Και όπως βλέπετε τώρα, στον τύπο πρόσβασης,
έχουμε τώρα επίσης έναν υπολογισμό, εκτός από
97
00:08:29,120 --> 00:08:39,840
το κατέβασμα και απλά θα προχωρήσουμε με αυτόν.
98
00:08:42,960 --> 00:08:50,320
Και τώρα δημιουργούμε το token δεδομένων
και μετά από αυτό δημοσιεύουμε τα μεταδεδομένα επί της αλυσίδας.
99
00:08:52,800 --> 00:09:07,840
Και στο τέλος θα δημιουργήσουμε και κάποια τιμή γι' αυτό.
100
00:09:19,760 --> 00:09:21,840
Εντάξει, αυτό ήταν πιο γρήγορο από το αναμενόμενο.
101
00:09:26,960 --> 00:09:35,920
Και νομίζω ότι τελειώσαμε.
102
00:09:35,920 --> 00:09:39,680
Και θα πρέπει να λάβουμε το μήνυμα έγκρισης σε ένα δευτερόλεπτο.
103
00:09:40,960 --> 00:09:41,600
Ορίστε.
104
00:09:43,680 --> 00:09:49,440
Τώρα έχουμε δημοσιεύσει αυτό ως ένα νέο περιουσιακό στοιχείο και
πολύ υπολογισμό σε αυτό και όπως βλέπετε, από προεπιλογή,
105
00:09:49,440 --> 00:09:54,960
τίποτα δεν επιτρέπεται σε αυτό, αλλά προς το παρόν ας δημιουργήσουμε πρώτα
γρήγορα ένα κοινόχρηστο ταμείο γι' αυτό.
106
00:09:56,720 --> 00:10:00,880
Ας το κρατήσουμε φτηνό, βάλτε 50 Ocean εκεί μέσα.
107
00:10:02,560 --> 00:10:03,840
Είναι ένα υψηλότερο τέλος ανταλλαγής.
108
00:10:08,160 --> 00:10:17,840
Και δημιουργήστε ένα κοινόχρηστο ταμείο γι' αυτό.
109
00:10:21,920 --> 00:10:26,000
Έτσι, τίποτα δεν άλλαξε εδώ, αυτή είναι η ροή όπως και πριν,
110
00:10:26,000 --> 00:10:29,280
εκτός από αυτή την αλλαγμένη διεπαφή υπολογισμού σε δεδομένα.
111
00:10:30,720 --> 00:10:33,040
Προφανώς βγάζει νόημα όταν επιτρέπουμε
112
00:10:33,040 --> 00:10:37,920
τον υπολογισμό στο περιουσιακό στοιχείο κάποιου να έχει πρώτα μια τιμή,
γι' αυτό και θα το κάνω όλο αυτό πρώτα.
113
00:10:44,480 --> 00:10:59,840
Και μετά τη δημιουργία ενός κοινόχρηστου ταμείου
και τη μετακίνηση των #OCEAN σε αυτό.
114
00:11:19,520 --> 00:11:20,320
Σχεδόν τελειώσαμε.
115
00:11:25,040 --> 00:11:27,840
Έγκριση να ξοδευτούν όλα τα πράγματα.
116
00:11:41,120 --> 00:11:55,840
Τώρα επιτέλους τα βάζω όλα στο κοινόχρηστο ταμείο.
117
00:12:08,640 --> 00:12:09,440
Ορίστε λοιπόν.
118
00:12:09,440 --> 00:12:13,680
Για να είστε σίγουροι, ανανεώστε τη σελίδα και ορίστε,
τώρα έχουμε ένα κοινόχρηστο ταμείο.
119
00:12:15,680 --> 00:12:17,840
Μέχρι στιγμής τίποτα καινούργιο,
120
00:12:17,840 --> 00:12:23,200
αλλά κάτω από το περιουσιακό στοιχείο εκεί υπάρχει τώρα μια νέα ρύθμιση
που ονομάζεται Επεξεργασία Ρυθμίσεων Υπολογισμού (Edit Compute Settings).
121
00:12:23,200 --> 00:12:25,600
Και ως εκδότης,
122
00:12:27,280 --> 00:12:33,840
είχατε τότε, σε αυτή τη νέα οθόνη,
τη δυνατότητα να ορίσετε τους επιτρεπόμενους αλγόριθμους.
123
00:12:33,840 --> 00:12:36,080
Έτσι, όπως βλέπετε, από προεπιλογή, τίποτα δεν είναι επιλεγμένο.
124
00:12:36,080 --> 00:12:40,640
Σε αυτή την περίπτωση θέλαμε να έχουμε
ακριβώς αυτόν τον αλγόριθμο σημείων δεδομένων,
125
00:12:41,280 --> 00:12:45,200
έτσι το κάνουμε αυτό και του επιτρέπουμε να εκτελεστεί σε αυτό.
126
00:12:46,400 --> 00:13:05,840
Πρόκειται και πάλι για μια συναλλαγή ενημέρωσης μεταδεδομένων,
οπότε, πρέπει να χρησιμοποιήσετε το MetaMask για αυτό.
127
00:13:09,040 --> 00:13:12,080
Και μετά την ενημέρωση του συνόλου δεδομένων, αυτός
128
00:13:12,640 --> 00:13:19,840
ο αλγόριθμος επιτρέπεται πλέον να εκτελείται
σε αυτό το σύνολο δεδομένων από όλους.
129
00:13:24,080 --> 00:13:26,800
Τώρα ας κάνουμε το ίδιο για έναν αλγόριθμο.
130
00:13:26,800 --> 00:13:31,600
Ας υποθέσουμε ότι είμαι ο εκδότης αυτού του συνόλου δεδομένων
και θέλω να έχω τον δικό μου αλγόριθμο εδώ.
131
00:13:32,480 --> 00:13:34,880
Ας πούμε για παράδειγμα ότι θα δημοσιεύσουμε
132
00:13:35,600 --> 00:13:39,680
στον ίδιο αλγόριθμο, αλλά με σταθερή τιμή.
133
00:13:40,240 --> 00:13:44,960
Όπως και πριν, αλλά αυτή τη φορά πηγαίνουμε στον Αλγόριθμο
134
00:13:46,160 --> 00:13:54,560
και θα αντιγράψω όλα τα δεδομένα που χρειάζεστε για αυτό,
για να κάνουμε γρήγορα.
135
00:13:57,280 --> 00:14:03,360
Και σε αυτή την περίπτωση, απλά χρησιμοποιώ ένα μυστικό Gist
136
00:14:05,360 --> 00:14:11,920
στο GitHub για αυτόν τον αλγόριθμο,
οπότε αξίζει να του ρίξετε μία ματιά στα γρήγορα.
137
00:14:11,920 --> 00:14:13,920
Αυτός είναι λοιπόν ένας τυπικός αλγόριθμος,
138
00:14:13,920 --> 00:14:17,680
υπάρχουν ένα σωρό κανόνες γύρω από αυτόν,
τους οποίους θα τεκμηριώσουμε στα έγγραφά μας,
139
00:14:18,720 --> 00:14:20,880
αλλά η βασική αρχή είναι ότι
140
00:14:21,920 --> 00:14:27,120
ο αλγόριθμος έχει ένα φάκελο εισαγωγής
και πρόσβαση σε ένα φάκελο εξαγωγής.
141
00:14:28,320 --> 00:14:36,720
Και κατά τη διάρκεια της εκτέλεσης μπορεί απλά
να γράφει αρχεία μόνο σε αυτόν το φάκελο.
142
00:14:37,360 --> 00:14:43,840
Και σε αυτή την περίπτωση καταλήγουμε σε ένα αρχείο καταγραφής εκροών
και ένα αρχείο καταγραφής αποτελεσμάτων,
143
00:14:43,840 --> 00:14:48,640
τα οποία είναι ουσιαστικά τα αρχεία καταγραφής της κονσόλας που εξάγονται.
144
00:14:50,640 --> 00:14:55,520
Οπότε σε αυτή την περίπτωση χρησιμοποιώ απλά τον
ακατέργαστο σύνδεσμο για αυτό και αυτό είναι ένα μυστικό Gist,
145
00:14:55,520 --> 00:14:57,840
οπότε δεν είναι τόσο εύκολα προσβάσιμο.
146
00:14:58,480 --> 00:15:01,920
Αυτό είναι απλώς ένα παράδειγμα, αλλά τυπικά ο αλγόριθμος θα
147
00:15:01,920 --> 00:15:06,000
φιλοξενούνταν ως αρχείο κάπου,
απλά για αυτό το παράδειγμα χρησιμοποίησα αυτό.
148
00:15:08,240 --> 00:15:12,320
Αν συνεχίσουμε, λέμε ότι αυτό είναι μια εφαρμογή Node.js,
149
00:15:13,600 --> 00:15:18,560
οπότε θα χρησιμοποιήσουμε την τελευταία έκδοση του node,
μπορεί επίσης να χρησιμοποιηθεί για πάντα.
150
00:15:19,520 --> 00:15:26,480
Θα επιτρέψουμε τη μεταφόρτωση του
για να το κρατήσουμε απλό και αυτό πραγματικά
151
00:15:26,480 --> 00:15:28,720
δημιουργήθηκε από εμάς, ως παράδειγμα.
152
00:15:31,440 --> 00:15:39,840
Και το δημοσιεύουμε γρήγορα.
153
00:15:49,600 --> 00:15:53,360
Και πάλι, συμβαίνει το ίδιο πράγμα με τα σύνολα δεδομένων.
154
00:15:53,360 --> 00:16:00,160
Θα δημιουργήσω ένα token δεδομένων,
στη συνέχεια θα κρυπτογραφήσω τη διεύθυνση URL του αρχείου,
155
00:16:00,160 --> 00:16:07,760
θα τα βάλω όλα αυτά σε ένα Έγγραφο Αποκεντρωμένου Αναγνωριστικού (DDO),
το οποίο στη συνέχεια θα καταλήξει επί της αλυσίδας.
156
00:16:10,880 --> 00:16:16,400
Και μόλις τελειώσουμε, για αυτόν τον αλγόριθμο θα δημιουργήσουμε
157
00:16:17,760 --> 00:16:23,120
απλά μια φτηνή σταθερή τιμή, ώστε να μπορεί να χρησιμοποιηθεί εύκολα.
158
00:16:26,560 --> 00:16:35,840
Και πάλι, θα έπρεπε να έχουμε ήδη τελειώσει.
159
00:16:40,320 --> 00:16:43,280
Ορίστε, τώρα έχουμε τον αλγόριθμό μας.
160
00:16:44,880 --> 00:16:47,600
Ας δημιουργήσουμε γρήγορα μια σταθερή τιμή,
161
00:16:47,600 --> 00:16:49,840
ας το κρατήσουμε φτηνό, 1 Ocean.
162
00:16:56,320 --> 00:17:03,840
Στο παρασκήνιο δημιουργεί μια σταθερή συναλλαγματική ισοτιμία γι' αυτό.
163
00:17:42,560 --> 00:17:46,720
Και τώρα έχουμε σχεδόν τελειώσει με τη ροή τιμολόγησης.
164
00:17:59,600 --> 00:18:03,840
Και τώρα το έχουμε εδώ για 1 Ocean, ορίστε.
165
00:18:05,600 --> 00:18:10,320
Τώρα προσπαθούμε να βρούμε το πρόσφατα δημοσιευμένο σύνολο δεδομένων μας,
166
00:18:10,320 --> 00:18:14,880
όπου τώρα μπορούμε απλά να πάμε στις
Ρυθμίσεις Υπολογισμού (Compute Settings).
167
00:18:16,800 --> 00:18:19,360
Και εμφανίζεται το νέο, το επιτρέπουμε.
168
00:18:20,720 --> 00:18:27,840
Το ίδιο πράγμα και πάλι, ενημέρωση των μεταδεδομένων.
169
00:18:35,760 --> 00:18:44,240
Και αφού ολοκληρωθεί αυτή η συναλλαγή,
θα πρέπει να είμαστε σε θέση να επιλέξουμε δύο αλγόριθμους.
170
00:18:47,200 --> 00:18:49,280
Ορίστε, εδώ είναι η σταθερή τιμή μας.
171
00:18:54,160 --> 00:18:57,920
Και τώρα ας δούμε την πραγματική εκκίνηση
μιας υπολογιστικής εργασίας σε ένα σύνολο δεδομένων.
172
00:18:58,560 --> 00:18:59,760
Μεταβείτε σε νέο λογαριασμό.
173
00:19:01,920 --> 00:19:03,120
Βάλτε μερικά χρήματα σε αυτόν.
174
00:19:04,000 --> 00:19:05,360
Για να δούμε λοιπόν.
175
00:19:07,840 --> 00:19:13,680
Ας πάμε πρώτα σε αυτό το σύνολο δεδομένων
και θέλουμε να εκτελέσουμε αυτόν τον αλγόριθμο σε αυτό.
176
00:19:14,400 --> 00:19:18,560
Όλες οι τιμές συγκεντρώνονται και επειδή και οι δύο
177
00:19:18,560 --> 00:19:20,720
έχουν χρονικό όριο, τα αγοράζουμε για μία ώρα.
178
00:19:22,800 --> 00:19:29,760
Και θα αγοράσουμε και τα δύο περιουσιακά στοιχεία,
που σημαίνει πολλές συναλλαγές στο ενδιάμεσο.
179
00:19:30,560 --> 00:19:36,640
Και με ένα νέο λογαριασμό, τα παίρνουμε όλα σε μία ροή,
180
00:19:37,920 --> 00:19:42,240
γιατί μόλις το αγοράσετε, μπορείτε πιθανότατα,
181
00:19:42,240 --> 00:19:46,240
στις περισσότερες περιπτώσεις, να ξεκινήσετε ξανά
μια υπολογιστική εργασία χωρίς να πληρώσετε ξανά,
182
00:19:46,240 --> 00:19:53,120
αυτό θα αντικατοπτρίζεται επίσης πάντα εδώ κάτω,
με βάση το χρονικό όριο για κάθε περιουσιακό στοιχείο.
183
00:19:55,840 --> 00:20:05,840
Το οποίο είναι, από προεπιλογή, ρυθμισμένο σε επ’ αόριστον
και εξαρτάται από τον εκδότη που το ρυθμίζει αυτό.
184
00:20:06,800 --> 00:20:15,200
Τώρα, έχουμε ήδη αγοράσει το token του συνόλου δεδομένων,
τώρα αγοράζουμε το token δεδομένων αλγορίθμου.
185
00:20:17,120 --> 00:20:34,320
Και επίσης επιτρέπουμε τη δαπάνη πολλαπλών νομισμάτων.
186
00:20:34,320 --> 00:20:40,240
Και βλέποντας αυτό, μάλλον μπορείτε να φανταστείτε
γιατί σας προτείνουμε να το κάνετε αυτό στο Polygon.
187
00:20:42,240 --> 00:20:47,840
Και αφού έχουμε όλες αυτές τις συναλλαγές.
188
00:20:49,040 --> 00:20:51,120
Εντάξει, αυτό ήταν ενδιαφέρον, ταυτόχρονα.
189
00:20:58,240 --> 00:21:15,840
Το τελικό βήμα στη συνέχεια θα είναι να υπογράψετε
απλώς την εργασία υπολογισμού και στη συνέχεια θα εκτελεστεί.
190
00:21:15,840 --> 00:21:16,880
Όχι ακόμα.
191
00:21:19,200 --> 00:21:29,840
Ακόμα αλληλεπιδρά με το τελικό σύνολο δεδομένων όπως φαίνεται, αλγόριθμος.
192
00:21:31,520 --> 00:21:34,880
Και τώρα υπογράφουμε για να ξεκινήσουμε την πραγματική δουλειά.
193
00:21:37,040 --> 00:21:39,040
Και εκεί βλέπουμε, εντάξει, ξεκίνησε.
194
00:21:40,640 --> 00:21:50,000
Και προς το παρόν μπορούμε να πάμε στο Ιστορικό μας (History)
και εκεί μπορείτε να δείτε ότι η υπολογιστική μας εργασία εκτελείται.
195
00:21:51,840 --> 00:21:58,080
Όπως είναι αυτή τη στιγμή,
δεν έχουμε ένα έξυπνο πραγματάκι ανανέωσης σελίδας εδώ,
196
00:21:58,080 --> 00:22:01,120
οπότε προς το παρόν το μόνο που κάνουμε είναι να αλλάζουμε τις καρτέλες.
197
00:22:02,640 --> 00:22:04,960
Σε γενικές γραμμές, όλα όσα αφορούν τις
198
00:22:04,960 --> 00:22:08,320
εξαγωγές είναι σίγουρα κάτι που θα εξετάσουμε
199
00:22:08,320 --> 00:22:11,840
περαιτέρω, για να βελτιώσουμε τη χρηστικότητα,
200
00:22:12,960 --> 00:22:16,880
but as soon as this is 
αλλά μόλις αυτό βασικά ολοκληρωθεί, θα λάβετε ένα κουμπί,
201
00:22:17,600 --> 00:22:20,480
το οποίο με το πάτημα του αποκαλύπτει τα αποτελέσματα.
202
00:22:20,480 --> 00:22:22,320
Και πάλι αυτό πρέπει να υπογραφεί,
203
00:22:23,280 --> 00:22:29,440
έτσι ώστε να μην είναι απλά ένας δημόσιος σύνδεσμος προσβάσιμος σε όλους,
204
00:22:29,440 --> 00:22:40,080
αλλά μόνο για τον καταναλωτή της υπολογιστικής εργασίας.
205
00:22:40,080 --> 00:22:43,200
Και ήδη βλέπουμε ότι τα αποτελέσματα έχουν ήδη δημοσιευθεί.
206
00:22:47,760 --> 00:22:53,840
Η οποία τώρα δεν είναι τόσο έξυπνη, αποκεντρωμένη δημοσίευση,
207
00:22:53,840 --> 00:22:58,320
απλά τοποθετείται σε ένα S3 bucket προς το παρόν.
208
00:22:58,320 --> 00:23:01,440
Και πάλι πρόκειται για ολόκληρη την υποδομή υπολογισμού σε δεδομένα,
209
00:23:01,440 --> 00:23:06,080
η οποία εναπόκειται στον ιδιοκτήτη της αγοράς να εκτελεί
210
00:23:06,080 --> 00:23:08,400
και να συντηρεί και αυτό θα ήταν επίσης κάτι.
211
00:23:09,520 --> 00:23:13,520
Ο ιδιοκτήτης της αγοράς θα αποφασίσει
πού θα αποθηκεύσει αυτά τα αποτελέσματα.
212
00:23:14,720 --> 00:23:19,760
Όπως είναι τώρα, βλέπουμε τώρα, εντάξει,
η δουλειά τελείωσε, θα γραφτεί σε ένα λεπτό.
213
00:23:21,440 --> 00:23:23,520
Και τώρα το κουμπί γίνεται ενεργό.
214
00:23:27,440 --> 00:23:31,120
Το υπογράφουμε και έχουμε το αρχείο καταγραφής μας.
215
00:23:31,120 --> 00:23:44,240
Όπως βλέπετε, μπορείτε απλά να το κατεβάσετε,
αλλά και να το ανοίξετε και βλέπετε ότι έχουμε 114191 γραμμές.
216
00:23:45,280 --> 00:23:49,840
Έτσι, αυτό έρχεται απευθείας ως εξαγωγή από τον αλγόριθμο.
217
00:23:51,120 --> 00:24:03,840
Και αυτή είναι μέχρι στιγμής η πρώτη μας διεπαφή
για υπολογισμό σε δεδομένα.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment