Skip to content

This is the main repository for the OpenChat application which runs on the Internet Computer

License

Notifications You must be signed in to change notification settings

dfinity/open-chat

 
 

Repository files navigation

OpenChat

https://oc.app

OpenChat is a fully featured chat application running end-to-end on the Internet Computer blockchain.

Prerequisites

DFX 0.25.1-beta.1

To install, run DFX_VERSION=0.25.1-beta.1 sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"

Rust

To install, run curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

NPM

Download from https://nodejs.org/en/download

Testing locally

Start DFX using dfx start

To install all the necessary canisters (OpenChat and NNS) run ./scripts/deploy-local.sh

To run the website run npm --prefix frontend run dev. This process doesn't exit but watches changes to the website and rebuilds it using vite for fast development iteration.

Open the website at http://localhost:5001/.

To upgrade a canister run ./scripts/upgrade-canister-local.sh <DFX_IDENTITY_NAME> <CANISTER_NAME> <VERSION> (eg. ./scripts/upgrade-canister-local.sh default user 1.0.0)

To start again with a fresh install, stop DFX, then run rm -rf .dfx, then start from the top of these instructions again.

Deterministic builds

We need builds to be deterministic so that code running inside a canister can be verified by comparing the wasm hash locally with the wasm hash exposed by the IC.

You can build the OpenChat canister wasms by running ./scripts/docker-build-all-wasms.sh

Docker & bots

If you are developing bots on the Open Chat platform, you may want to build and then run the open-chat docker image.

To build the image from the repository use:

docker build -t open-chat -f Dockerfile.oc .

NOTE: it may take up to 10 minutes to build the image.

This image runs the mainnet, and Open Chat canisters and UI within the container, therefore removing the requirement for a manual local installation.

To run the open-chat image, once it's built:

docker run -d -p 5002:80 -p 8080:8080 --name open-chat open-chat

NOTE: It may take up to a minute for the container to start serving OC app once it's started.

Once the container with the image is running, the app UI should be available on http://localhost:5002.

License

Copyright 2024 OpenChat Labs LTD

Licensed under the AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html


Our tests run fast and cheap via RunsOn

About

This is the main repository for the OpenChat application which runs on the Internet Computer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 47.8%
  • Svelte 25.5%
  • TypeScript 24.3%
  • Shell 1.3%
  • JavaScript 0.8%
  • SCSS 0.2%
  • Other 0.1%