You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README-dev.md
+122-4
Original file line number
Diff line number
Diff line change
@@ -90,8 +90,8 @@ o1js uses these types to ensure that the constants used in the protocol are cons
90
90
| main |**Yes**|
91
91
| develop | No |
92
92
93
-
When you start your work on o1js, please create the feature branch off of one of the above base branches.
94
-
It's encouraged to submit your work-in-progress as a draft PR to raise visibility!
93
+
When you start your work on o1js, please create the feature branch off of one of the above base branches.
94
+
It's encouraged to submit your work-in-progress as a draft PR to raise visibility!
95
95
When working with submodules and various interconnected parts of the stack, ensure you are on the correct branches that are compatible with each other.
96
96
97
97
**Default to `main` as the base branch**.
@@ -203,8 +203,8 @@ docker run --rm --pull=missing -it \
203
203
204
204
See the [Docker Hub repository](https://hub.docker.com/r/o1labs/mina-local-network) for more information.
205
205
206
-
Next up, get the Mina blockchain accounts information to be used in your zkApp.
207
-
After the local network is up and running, you can use the [Lightnet](https://github.com/o1-labs/o1js/blob/ec789794b2067addef6b6f9c9a91c6511e07e37c/src/lib/fetch.ts#L1012)`o1js API namespace` to get the accounts information.
206
+
Next up, get the Mina blockchain accounts information to be used in your zkApp.
207
+
After the local network is up and running, you can use the [Lightnet](https://github.com/o1-labs/o1js/blob/ec789794b2067addef6b6f9c9a91c6511e07e37c/src/lib/fetch.ts#L1012)`o1js API namespace` to get the accounts information.
208
208
See the corresponding example in [src/examples/zkapps/hello-world/run-live.ts](https://github.com/o1-labs/o1js/blob/ec789794b2067addef6b6f9c9a91c6511e07e37c/src/examples/zkapps/hello-world/run-live.ts).
209
209
210
210
### Profiling o1js
@@ -236,3 +236,121 @@ After the Node.js process is running, open the Chrome browser and navigate to `c
236
236
237
237
to update the pnpm lock
238
238
`pnpm install --no-frozen-lockfile`
239
+
240
+
241
+
# Idea
242
+
243
+
see idea.yaml
244
+
245
+
The idea is to introspect o1js, by observing, orienting, deciding and acting on the internal state and
246
+
the external state. We can take the multi headed value network and the policy network of deepmind as inspiration,
247
+
from what I understand we can imagine a hydra like system of a hive mind
248
+
with many actors or agents in a blockchain network.
249
+
Each agent can have multiple accounts, we can model them with mina accounts and keys.
250
+
We can store the keys in private variables attached to build jobs on private build servers.
251
+
The agents then run in the build job and use the wallet via the key.
252
+
The build job is passed in others variable like the current branch or commit, this is basically your github action job context, or gitlab or other build system.
253
+
254
+
The state of the git tree is part of the hash of the commit.
255
+
We can include those hashses in the proof, so we can recursivly hash the repos and subrepos and packages used.
256
+
257
+
We extract knowledge from the runtime and construct zksnarks about them using o1js itself.
258
+
259
+
So we can say each account can be linked with a project, and o1js is one such project but it is a foundational
260
+
part that creates a whole ecosystem.
261
+
262
+
So we can think of it as a prelude or setting the stage for the work to be done.
263
+
264
+
Thus we can create a single hash of the entire o1js system knowledge, including its state, inputs, outputs, environmental bindings, processes, servers, clusters, networks, accounts, deployments, in a reflective vernacular
265
+
system that unites the models of different domains.
266
+
267
+
By using rdf owl ontologies derived from vernacular ast dumps of compiler graphs
268
+
we can label and reference versions of this vernacular data type system of unreflected linguistic
269
+
data. The paths of unimath unite the model with prolog unification to construct a platonic idea
270
+
of unity which we can reference with the uu or universe of universes, in unimath, or the by the symbol of 1, in our imagination. So we can lift all the data types as facets of the universe, each declaration in context
271
+
of a stream of output, this stream can self reflect over itself creating a closure of introspective thought,
272
+
we can address the moment this way creating self and other references at difference scales and measures.
273
+
274
+
So we now understand the universe of types, we can think of instances of those types as prototypes,
275
+
and we can create content addressable sparse representations of these graphs. We can think of this as the tree of knowledge. This can be seen as the initial accounts or prelude as well in a metaphor. So by thinking about mina accounts we can think about type systems used, and we have a mina account for the mina account as the base template.
276
+
each user can publish smart contracts that define new types. We can create a canonical vernacular embedding that
277
+
allows a kind of "latin" to speak about other languages in the project.
278
+
279
+
The point of this is to paint a picture of the idea. to give a story or context to the project.
280
+
With rdf now we can construct statements about subjects from any part of the system, even other statements, which can be expressed as objects with no identifier, a blank object constructed out of data, like an empty list being filed with a pair, or a pair of pairs, or a linked list, different types of data can be constructed.
281
+
282
+
Lets summarize:
283
+
284
+
create a graphql server for the following,
285
+
include interfaces for sparql etc.
286
+
287
+
for all projects p:
288
+
for all version v:
289
+
for all modules and submodules m:
290
+
for all tests t:
291
+
for all functions f:
292
+
for all basic blocks b:
293
+
for all loops l:
294
+
we find ourself in a loop right now. ooda.
295
+
we find ourselves on an instruction I,
296
+
we have registers R,
297
+
we have pointers to memory addresses M,
298
+
we have input files IF,
299
+
The registers values could be part of cryptographic algorithm.
0 commit comments