All Projects → holochain → Holochain

holochain / Holochain

Licence: other
The new, performant, and simplified version of Holochain on Rust (sometimes called Holochain RSM for Refactored State Model)

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Holochain

Ddn
DDN, Data Delivery Network, a next generation blockchain system
Stars: ✭ 118 (-42.44%)
Mutual labels:  blockchain, p2p
Bitcoin Kit Ios
Full Bitcoin library for iOS, implemented on Swift. SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains.
Stars: ✭ 134 (-34.63%)
Mutual labels:  blockchain, p2p
Atomicdex Desktop
atomicDEX Desktop app - project codename "Dextop"
Stars: ✭ 126 (-38.54%)
Mutual labels:  blockchain, p2p
Hyperchain
Official Go implementation of the hyperchain protocol
Stars: ✭ 90 (-56.1%)
Mutual labels:  blockchain, p2p
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (-19.51%)
Mutual labels:  blockchain, p2p
Covenantforum
CovenantForum is a simple Decentralized forum powered by CovenantSQL.
Stars: ✭ 102 (-50.24%)
Mutual labels:  blockchain, p2p
Blockchain
A simple implementation of blockchain in java
Stars: ✭ 201 (-1.95%)
Mutual labels:  blockchain, p2p
Blockchain golang
Blockchain demo based on golang 基于golang编写的区块链公链demo
Stars: ✭ 80 (-60.98%)
Mutual labels:  blockchain, p2p
Gym Fx
Forex trading simulator environment for OpenAI Gym, observations contain the order status, performance and timeseries loaded from a CSV file containing rates and indicators. Work In Progress
Stars: ✭ 151 (-26.34%)
Mutual labels:  blockchain, p2p
Space Daemon
The Space Daemon packages together IPFS, Textile Threads/Buckets, and Textile Powergate (Filecoin*) into one easy to install Daemon to make it easy to build peer to peer and privacy focused apps.
Stars: ✭ 151 (-26.34%)
Mutual labels:  blockchain, p2p
Node Webdollar
WebDollar Protocol - Currency of the Internet
Stars: ✭ 89 (-56.59%)
Mutual labels:  blockchain, p2p
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+7300.98%)
Mutual labels:  blockchain, p2p
Awesome Privacy On Blockchains
A curated list of privacy on blockchains resources
Stars: ✭ 86 (-58.05%)
Mutual labels:  blockchain, p2p
Catapult Server
Catapult server
Stars: ✭ 111 (-45.85%)
Mutual labels:  blockchain, p2p
Clutter
Fully distributed twitter built on holochain
Stars: ✭ 84 (-59.02%)
Mutual labels:  blockchain, p2p
Particl Desktop
The GUI application for Particl Markeplace and PART coin wallet. A decentralized peer to peer marketplace –free, secure, private, untraceable.
Stars: ✭ 131 (-36.1%)
Mutual labels:  blockchain, p2p
Conceal Core
Conceal Core - Daemon & Wallets (CLI)
Stars: ✭ 72 (-64.88%)
Mutual labels:  blockchain, p2p
Ouroboros High Assurance
High-assurance implementation of the Ouroboros protocol family
Stars: ✭ 79 (-61.46%)
Mutual labels:  blockchain, distributed-computing
Hive
Fast. Scalable. Powerful. The Blockchain for Web 3.0
Stars: ✭ 142 (-30.73%)
Mutual labels:  blockchain, p2p
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (-12.2%)
Mutual labels:  blockchain, p2p

Holochain

Project Forum Chat

Twitter Follow License: License: CAL 1.0

This repository contains the core Holochain libraries and binaries.

This is the most recent and well maintained version of Holochain with a refactored state model (you may see references to it as Holochain RSM).

Code Status

This code is in alpha. It is not for production use. The code is guaranteed NOT secure.

We will be frequently and heavily restructuring code APIs and data chains until Beta.

We are currently only supporting Linux at this time. You may or may not be able to successfully build and run Holochain on macOS. You definitely won't be able to on Windows (unless you are using WSL, but even that is untested). We will definitely be rolling out support for these OSes in the future, but in the meantime please use Linux for development!

Making the Holochain binaries available in your shell

There are a number of contexts and purposes you might be running in which yield different ways to access binaries.

Using nix-shell on a local clone

Assuming you have installed the nix shell:

nix-shell --argstr flavor happDev

This nix-shell flavor installs wrapper binaries for holochain and hc that will automatically compile and run the binaries. This is very useful if you are tracking changes in the holochain repo because when you check out a new rev, running holochain will compile automatically to the version at that rev.

Building with cargo if you already have rust installed:

cargo install --path crates/holochain
cargo install --path crates/hc

Usage

$ holochain --help
USAGE:
    holochain [FLAGS] [OPTIONS]

FLAGS:
    -h, --help           Prints help information
    -i, --interactive    Receive helpful prompts to create missing files and directories,
                             useful when running a conductor for the first time
    -V, --version        Prints version information

OPTIONS:
    -c, --config-path <config-path>
            Path to a YAML file containing conductor configuration

Running holochain requires a config file. You can generate one in the default configuration file locations using interactive mode:

$ holochain -i
There is no conductor config YAML file at the path specified (/home/eric/.config/holochain/conductor-config.yml)
Would you like to create a default config file at this location? [Y/n]
Y
Conductor config written.
There is no database environment set at the path specified (/home/eric/.local/share/holochain/databases)
Would you like to create one now? [Y/n]
Y
LMDB environment created.
Conductor ready.

As well as creating the config file this process also instantiates the initial LMDB database environment. If you provide a config file on first run with just the -c flag holochain will also initialize the environment even if not in interactive mode.

Development Environment

Assuming you have installed the nix shell:

git clone [email protected]:holochain/holochain.git
cd holochain
nix-shell
hc-merge-test

This will compile holochain and run all the tests.

If you get an error while running nix-shell about ngrok having an unfree license, you can fix that by running,

mkdir -p ~/.config/nixpkgs/
echo "{ allowUnfree = true; }" >> ~/.config/nixpkgs/config.nix

We have an all-in-one development environment including (among other things):

  • The correct version and sane environment variables of cargo/rust
  • Node for working with tryorama
  • Scaffolding, build and deployment scripts
  • Prebuilt binaries of core for various operating systems (soon)
  • Shared libs such as libsodium

It is called Holonix and you should use it.

It has plenty of documentation and functionality and can be used across Windows, Mac, and Linux. (Although Holochain itself currently only supports Linux.) It is based on the development tools provided by NixOS.

It is suitable for use in hackathons and 'serious' development for a long-term, production grade development team.

If you want to maintain your own development environment then we can only offer rough advice, because anything we say today could be out of date tomorrow:

  • Use a recent stable version of rust
  • Use node 12x+ for clientside work
  • Install any relevant shared libs like libsodium
  • Write your own scaffolding, build and development tools
  • Plan for dependency management as we ship new binaries

Application Developer

Read the wasm API docs

Build the hdk docs:

cargo doc --manifest-path=crates/hdk/Cargo.toml --open

Core Developer

Build the holochain docs:

cargo doc --manifest-path=crates/holochain/Cargo.toml --open

Contribute

Holochain is an open source project. We welcome all sorts of participation and are actively working on increasing surface area to accept it. Please see our contributing guidelines for our general practices and protocols on participating in the community, as well as specific expectations around things like code formatting, testing practices, continuous integration, etc.

  • Connect with us on our forum

License

License: CAL 1.0

Copyright (C) 2019 - 2021, Holochain Foundation

This program is free software: you can redistribute it and/or modify it under the terms of the license provided in the LICENSE file (CAL-1.0). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].