Skip to content

Commit 40329b4

Browse files
author
mike dupont
committed
seems to be running for a while
1 parent 6edff0a commit 40329b4

File tree

5 files changed

+269
-46
lines changed

5 files changed

+269
-46
lines changed

Dockerfile

+11-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ WORKDIR /app
99

1010
ADD pnpm-lock.yaml pnpm-lock.yaml
1111
ADD package.json package.json
12-
ADD package-lock.json package-lock.json
12+
#ADD package-lock.json package-lock.json
1313
ADD tsconfig.examples.json tsconfig.examples.json
1414
ADD tsconfig.json tsconfig.json
1515
ADD tsconfig.mina-signer.json tsconfig.mina-signer.json
@@ -26,7 +26,16 @@ COPY tests /app/tests
2626
COPY benchmark /app/benchmark
2727
COPY jest /app/jest
2828
COPY dune-project /app/dune-project
29-
RUN npm ci
29+
30+
#RUN pnpm ci
31+
RUN corepack enable
32+
RUN corepack prepare pnpm@latest-9 --activate
33+
RUN pnpm install
34+
# "dev": "npx tsc -p tsconfig.test.json && node src/build/copy-to-dist.js",
35+
RUN npx tsc --help || echo 2
36+
RUN npx tsc --all || echo 2
37+
RUN npx tsc --version
38+
RUN npx tsc -p tsconfig.test.json
3039
RUN pnpm run build
3140
RUN pnpm install jest
3241
RUN pnpm install -g clinic

README-dev.md

+122-4
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ o1js uses these types to ensure that the constants used in the protocol are cons
9090
| main | **Yes** |
9191
| develop | No |
9292

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!
9595
When working with submodules and various interconnected parts of the stack, ensure you are on the correct branches that are compatible with each other.
9696

9797
**Default to `main` as the base branch**.
@@ -203,8 +203,8 @@ docker run --rm --pull=missing -it \
203203

204204
See the [Docker Hub repository](https://hub.docker.com/r/o1labs/mina-local-network) for more information.
205205

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.
208208
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).
209209

210210
### Profiling o1js
@@ -236,3 +236,121 @@ After the Node.js process is running, open the Chrome browser and navigate to `c
236236

237237
to update the pnpm lock
238238
`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.
300+
we have zkp about the:
301+
meaning of the values
302+
distribution of values:
303+
distribution of types:
304+
value -> type
305+
value prototype
306+
examples
307+
cases
308+
use cases
309+
uml modeling
310+
plantuml diagrams
311+
referencing this system right now:
312+
self reference
313+
lexical introspection
314+
choose your own adventure
315+
heros journey
316+
epic stories
317+
meta-meme
318+
introspector
319+
self observation
320+
self confidence
321+
fitness function
322+
logical gymnastics
323+
demonstration of concept
324+
dungeons of thought,
325+
laybyrithm
326+
under groud
327+
archtypes
328+
elixer
329+
heros journey
330+
stream of conciousness
331+
unity of mind
332+
unimath
333+
coq
334+
meta-coq
335+
haskell
336+
template haskell
337+
graphql -server
338+
paths of proof
339+
homotopy type levels
340+
propositions of length of path of proof
341+
uu
342+
. END.
343+
mathematical modelling
344+
neural network modelling
345+
model checkers
346+
rdf ontologies
347+
algebras of types:
348+
enumerations of disjoint unions
349+
fields of probability
350+
or operation
351+
+ operator
352+
products of two events
353+
joint probability
354+
and operation
355+
* operator
356+

idea.yaml

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
prelude: {}
2+
universe_of_universes:
3+
empty_set:
4+
one: { 1:1 }
5+
two: { 1:1, 2:2 }
6+
three: { 1:1, 2:2, 3:3 }
7+
universe:
8+
world:
9+
projects:
10+
- project:
11+
name: "o1js"
12+
types:
13+
- nodejs-rust-ocaml-wasm-mixed-language-web3-library:
14+
nodejs:
15+
json:
16+
yaml:
17+
ocaml :
18+
introspection:
19+
ppx :
20+
ppx2json:
21+
output: json
22+
rust :
23+
introspection:
24+
syn :
25+
syn-to-ast:
26+
output: json
27+
wasm-compile :
28+
output: wasm
29+
web3 :
30+
wasm :
31+
instances:
32+
- o1js :
33+
version:
34+
build:
35+
docker image:
36+
git submodules:
37+
recursive hashs:
38+
npm packages:
39+
opam packages:
40+
yarn:
41+
pnpm:
42+
jest:
43+
introspection:
44+
clinicjs:
45+
linux perf:
46+
strace:
47+
other tools:
48+
todo: look for more js and ts observability tools
49+
divide: break down into parts
50+
conquer: solve each part individually
51+
integrate:
52+
idea: unite type systems
53+
element:
54+
water:
55+
unity:
56+
singular:
57+
58+
rule:
59+
idea: command and control
60+
repl:
61+
- read
62+
- eval
63+
- print
64+
- loop
65+
ooda:
66+
- observe
67+
- orient
68+
- decide
69+
- act
70+
quine: emit own source code
71+
heideggerian-terms: long-names-that-create-neologisms
72+
memes: self replicating patterns
73+
algebras:
74+
what: formal combinations of objects
75+
terms:
76+
multiplication:
77+
symbol: "*"
78+
idea:
79+
- product
80+
- and
81+
- multiply
82+
- record type
83+
- push on stack
84+
inverse:
85+
division: "%"
86+
addition:
87+
symbol: "+"
88+
idea:
89+
- sum
90+
- or
91+
- disjoint union
92+
- enum
93+
inverse:
94+
subtraction: "-"
95+
96+
observation:

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
"typedoc": "^0.25.13",
9898
"typedoc-plugin-markdown": "^4.0.0-next.53",
9999
"typedoc-plugin-merge-modules": "^5.1.0",
100-
"typescript": "^5.4.5"
100+
"typescript": "~5.5.4"
101101
},
102102
"dependencies": {
103103
"blakejs": "1.2.1",

0 commit comments

Comments
 (0)