53 packages
@canvas-js/atproto-object
AT Protocol object utilities.
@canvas-js/chain-atp
The Bluesky/AT Protocol session signer prompts the user for an app password, and uses it to generate a new signed post on Bluesky, authenticating a new session. The posted authentication message is then immediately deleted.
@canvas-js/chain-cosmos
The Cosmos session signer takes an injected Cosmos signer, which may be an `EthereumSigner`, `AminoSigner`, or `BytesSigner`, and uses it to authenticate a new session.
@canvas-js/chain-ethereum
The Ethers (v6) Ethereum signer takes an `ethers` signer, or generates a random `ethers.Wallet`, and uses it to sign a SIWE message authenticating a new session.
@canvas-js/chain-ethereum-viem
The Viem Ethereum signer takes a Viem `WalletClient`, or generates a random WalletClient, and uses it to sign a SIWE message authenticating a new session.
@canvas-js/chain-near
@canvas-js/chain-solana
The Solana session signer takes an injected `SolanaWindowSigner`, provided by Solana wallets like Phantom, and uses it to authenticate a new session.
@canvas-js/chain-substrate
The Substrate session signer takes an injected `polkadot-js` extension, or generates a random Substrate keypair, and uses it to authenticate a new session.
@canvas-js/cli
Canvas provides a command line interface for running applications in Node.js, that join the peer-to-peer network.
@canvas-js/client
The `Client` class here manages one or more session signers to sign and post messages over the Canvas HTTP API.
@canvas-js/core
This package exports a `Canvas` class that can be used to manually instantiate Canvas applications.
@canvas-js/discovery
@canvas-js/ethereum-contracts
Contracts for onchain verification of Canvas messages created by the `EIP712Signer` verifiable signer.
@canvas-js/gossiplog
GossipLog is a decentralized, authenticated, multi-writer log designed to serve as a **general-purpose foundation for peer-to-peer applications**. It can be used as a simple replicated data store, the transaction log of a database, or the execution log of
@canvas-js/hooks
Hooks for using Canvas applications in React.
@canvas-js/interfaces
This package exports TypeScript types for Canvas messages and other interfaces.
@canvas-js/libp2p-okra-service
@canvas-js/libp2p-rendezvous
[](https://github.com/RichardLitt/standard-readme) [](https://opensource.org/lic
@canvas-js/modeldb
ModelDB is a minimalist cross-platform relational database wrapper. It currently supports the following backends:
@canvas-js/modeldb-durable-objects
@canvas-js/modeldb-idb
@canvas-js/modeldb-interface
@canvas-js/modeldb-pg
@canvas-js/modeldb-sqlite
@canvas-js/modeldb-sqlite-expo