0.8.27-patch.18 • Published 5 days ago

@canvas-js/core v0.8.27-patch.18

Weekly downloads
-
License
-
Repository
-
Last release
5 days ago

@canvas-js/core

A programmable append-only log for peer-to-peer decentralized applications.

API

import { ethers } from "ethers"
import { Libp2p } from "libp2p"

import { Action, Session, ModelValue, Model, Chain, ChainId } from "@canvas-js/interfaces"

interface CoreConfig {
	// pass `null` to run in memory
	directory: string | null
	// defaults to ipfs:// hash of app
	uri?: string
	app: string
	libp2p?: Libp2p
	providers?: Record<string, ethers.providers.JsonRpcProvider>
	// defaults to fetching each block from the provider with no caching
	blockResolver?: BlockResolver
	unchecked?: boolean
	verbose?: boolean
	offline?: boolean
}

type BlockResolver = (chain: Chain, chainId: ChainId, block: string) => Promise<ethers.providers.Block>

declare class Core {
	static initialize(config: CoreConfig): Promise<Core>

	readonly uri: string
	readonly cid: CID
	readonly directory: string | null
	readonly models: Record<string, Model>
	readonly actions: string[]
	readonly routeParameters: Record<string, string[]>

	close(): Promise<void>
	getRoute(route: string, params: Record<string, ModelValue>): Record<string, ModelValue>[]
	applyAction(action: Action): Promise<{ hash: string }>
	applySession(session: Session): Promise<{ hash: string }>
}

CoreConfig.uri must be the ipfs:// CIDv0 URI of the app (dag-pb using the default chunking settings), or a local file:/// URI.

Metrics

canvas_sync_time

A histogram of MST sync times.

label nametypedescription
uristringthe source ipfs:// URI
statusstringeither "success" or "failure"

canvas_messages

A counter of messages applied

label nametypedescription
typestringeither "action" or "session"
uristringthe source ipfs:// URI

canvas_gossipsub_subscribers

A gauge counting GossipSub topic subscribers.

label nametypedescription
uristringthe source ipfs:// URI

canvas_sync_peers

A gauge counting the observed active DHT application peers.

label nametypedescription
uristringthe source ipfs:// URI

(c) 2022 Canvas Technology Corporation

0.8.27-patch.14

6 days ago

0.8.27-patch.13

6 days ago

0.8.27-patch.16

6 days ago

0.8.27-patch.15

6 days ago

0.8.27-patch.10

7 days ago

0.8.27-patch.6

7 days ago

0.8.27-patch.7

7 days ago

0.8.27-patch.12

7 days ago

0.8.27-patch.8

7 days ago

0.8.27-patch.11

7 days ago

0.8.27-patch.9

7 days ago

0.8.27-patch.20

5 days ago

0.9.1

7 days ago

0.8.27-patch.18

5 days ago

0.8.27-patch.17

5 days ago

0.8.27-patch.19

5 days ago

0.8.27-patch.2

10 days ago

0.8.27-patch.3

10 days ago

0.8.27-patch.4

10 days ago

0.8.27-patch.5

10 days ago

0.8.27-patch.1

10 days ago

0.9.0

15 days ago

0.9.0-next.1

30 days ago

0.8.26-alpha.4

4 months ago

0.8.26-alpha.3

4 months ago

0.8.26-alpha.2

4 months ago

0.8.26

4 months ago

0.8.26-alpha.1

4 months ago

0.8.25

4 months ago

0.8.24

4 months ago

0.8.23

4 months ago

0.8.22

4 months ago

0.8.21

4 months ago

0.8.20

4 months ago

0.8.19

4 months ago

0.8.18

4 months ago

0.8.17

4 months ago

0.8.16

4 months ago

0.8.15

5 months ago

0.8.14-alpha.1

5 months ago

0.8.14

5 months ago

0.8.13

5 months ago

0.8.12

5 months ago

0.8.11

5 months ago

0.8.10

5 months ago

0.8.9

5 months ago

0.8.8

5 months ago

0.8.5

5 months ago

0.8.4

5 months ago

0.8.7

5 months ago

0.8.6

5 months ago

0.8.2-alpha.1

5 months ago

0.8.3

5 months ago

0.8.2

5 months ago

0.8.2-patch.1

5 months ago

0.7.2-alpha.1

5 months ago

0.7.2-alpha.2

5 months ago

0.7.2-alpha.3

5 months ago

0.7.2-alpha.4

5 months ago

0.7.2-alpha.5

5 months ago

0.7.2-alpha.6

5 months ago

0.7.2-alpha.7

5 months ago

0.7.2

5 months ago

0.7.1

5 months ago

0.7.3

5 months ago

0.7.0

5 months ago

0.8.1

5 months ago

0.8.0

5 months ago

0.6.0-alpha2

8 months ago

0.6.0-alpha1

8 months ago

0.6.0-alpha4

7 months ago

0.6.0-alpha3

7 months ago

0.6.0-alpha6

7 months ago

0.6.0-alpha5

7 months ago

0.6.0-alpha7

7 months ago

0.5.0

6 months ago

0.5.1

6 months ago

0.6.1

6 months ago

0.6.0

6 months ago

0.4.9

1 year ago

0.5.0-alpha

1 year ago

0.5.0-alpha4

12 months ago

0.5.0-alpha3

1 year ago

0.5.0-alpha2

1 year ago

0.4.10

1 year ago

0.4.11

1 year ago

0.4.8

1 year ago

0.4.5

1 year ago

0.4.4

1 year ago

0.4.7

1 year ago

0.4.6

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.4.3

1 year ago

0.4.2

1 year ago

0.3.0

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.3

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.2.2

1 year ago

0.1.2

1 year ago

0.1.3

1 year ago

0.1.0

1 year ago

0.1.1

1 year ago

0.0.53

1 year ago

0.0.52

1 year ago

0.0.40

1 year ago

0.0.41

1 year ago

0.0.42

1 year ago

0.0.43

1 year ago

0.0.44

1 year ago

0.0.45

1 year ago

0.0.46

1 year ago

0.0.47

1 year ago

0.0.37

1 year ago

0.0.38

1 year ago

0.0.39

1 year ago

0.0.48-pre

1 year ago

0.0.50-pre4

1 year ago

0.0.50-pre3

1 year ago

0.0.50-pre2

1 year ago

0.0.50-pre

1 year ago

0.0.51

1 year ago

0.0.50

1 year ago

0.0.48

1 year ago

0.0.49

1 year ago

0.0.20

2 years ago

0.0.22

1 year ago

0.0.23

1 year ago

0.0.24

1 year ago

0.0.25

1 year ago

0.0.19

2 years ago

0.0.30

1 year ago

0.0.31

1 year ago

0.0.34-alpha6

1 year ago

0.0.32

1 year ago

0.0.33

1 year ago

0.0.34

1 year ago

0.0.35

1 year ago

0.0.36

1 year ago

0.0.34-alpha5

1 year ago

0.0.34-alpha4

1 year ago

0.0.34-alpha3

1 year ago

0.0.34-alpha2

1 year ago

0.0.26

1 year ago

0.0.27

1 year ago

0.0.28

1 year ago

0.0.29

1 year ago

0.0.34-alpha

1 year ago

0.0.17-alpha2

2 years ago

0.0.17-alpha

2 years ago

0.0.17

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.16

2 years ago

0.0.2

2 years ago

0.0.3-alpha

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.4

2 years ago

0.0.1

2 years ago