{"id":13668011,"url":"https://github.com/darkrenaissance/darkfi","last_synced_at":"2025-05-14T01:02:20.436Z","repository":{"id":37438827,"uuid":"288211592","full_name":"darkrenaissance/darkfi","owner":"darkrenaissance","description":"Anonymous. Uncensored. Sovereign.","archived":false,"fork":false,"pushed_at":"2024-10-28T14:29:18.000Z","size":96948,"stargazers_count":1120,"open_issues_count":21,"forks_count":117,"subscribers_count":43,"default_branch":"master","last_synced_at":"2024-10-29T15:04:50.145Z","etag":null,"topics":["crypto","cryptocurrency","halo2","rust","zero-knowledge","zk","zk-snarks","zkvm"],"latest_commit_sha":null,"homepage":"https://dark.fi","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darkrenaissance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-17T15:06:53.000Z","updated_at":"2024-10-29T11:54:52.000Z","dependencies_parsed_at":"2022-07-09T05:46:24.583Z","dependency_job_id":"24dc6118-5ec1-4a4d-bf90-2d0cf506efb9","html_url":"https://github.com/darkrenaissance/darkfi","commit_stats":{"total_commits":5636,"total_committers":46,"mean_commits":"122.52173913043478","dds":0.7913413768630234,"last_synced_commit":"b31b3c8478a437e6721ac46e3b929f29952812be"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkrenaissance%2Fdarkfi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkrenaissance%2Fdarkfi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkrenaissance%2Fdarkfi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkrenaissance%2Fdarkfi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darkrenaissance","download_url":"https://codeload.github.com/darkrenaissance/darkfi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248229837,"owners_count":21068984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crypto","cryptocurrency","halo2","rust","zero-knowledge","zk","zk-snarks","zkvm"],"created_at":"2024-08-02T07:00:59.468Z","updated_at":"2025-04-10T13:56:00.550Z","avatar_url":"https://github.com/darkrenaissance.png","language":"Rust","funding_links":[],"categories":["Rust","🔨Tools","Alternate Blockchain designs"],"sub_categories":["Blockchains with private smart contracts"],"readme":"# DarkFi - Anonymous, Uncensored, Sovereign\n\n![Build Status](https://img.shields.io/github/actions/workflow/status/darkrenaissance/darkfi/ci.yml?branch=master\u0026style=flat-square)\n[![Web - dark.fi](https://img.shields.io/badge/Web-dark.fi-white?logo=firefox\u0026logoColor=white\u0026style=flat-square)](https://dark.fi)\n[![Manifesto - unsystem](https://img.shields.io/badge/Manifesto-unsystem-informational?logo=minutemailer\u0026logoColor=white\u0026style=flat-square)](https://dark.fi/manifesto.html)\n[![Book - mdbook](https://img.shields.io/badge/Book-mdbook-orange?logo=gitbook\u0026logoColor=white\u0026style=flat-square)](https://darkrenaissance.github.io/darkfi)\n\nWe aim to proliferate [anonymous digital\nmarkets](https://dark.fi/manifesto.html) by means of strong cryptography\nand peer-to-peer networks. We are establishing an online zone of freedom\nthat is resistant to the surveillance state.\n\n\u003e Unfortunately, the law hasn’t kept pace with technology, and this disconnect\n\u003e has created a significant public safety problem. We call it \"Going Dark\".\n\u003e\n\u003e James Comey, FBI director\n\nSo let there be dark.\n\n## About DarkFi\n\nDarkFi is a new Layer 1 blockchain, designed with anonymity at the\nforefront. It offers flexible private primitives that can be wielded\nto create any kind of application. DarkFi aims to make anonymous\nengineering highly accessible to developers.\n\nDarkFi uses advances in zero-knowledge cryptography and includes a\ncontracting language and developer toolkits to create uncensorable\ncode.\n\nIn the open air of a fully dark, anonymous system, cryptocurrency has\nthe potential to birth new technological concepts centered around\nsovereignty. This can be a creative, regenerative space - the dawn of\na Dark Renaissance.\n\n## Connect to DarkFi IRC\n\nFollow the [installation instructions](https://darkrenaissance.github.io/darkfi/misc/darkirc/darkirc.html#installation)\nfor the P2P IRC daemon.\n\n## Build\n\nThis project requires the Rust compiler to be installed. \nPlease visit [Rustup](https://rustup.rs/) for instructions.\n\nYou have to install a native toolchain, which is set up during Rust installation,\nnightly toolchain and wasm32 target.\nTo install nightly toolchain, execute:\n```shell\n% rustup toolchain install nightly\n```\nTo install wasm32 target, execute:\n```shell\n% rustup target add wasm32-unknown-unknown\n% rustup target add wasm32-unknown-unknown --toolchain nightly\n```\nMinimum Rust version supported is **1.77.0 (nightly)**.\n\nThe following dependencies are also required:\n\n|   Dependency   |   Debian-based     |\n|----------------|--------------------|\n| git            | git                |\n| cmake          | cmake              |\n| make           | make               |\n| gcc            | gcc                |\n| g++            | g++                |\n| pkg-config     | pkg-config         |\n| alsa-lib       | libasound2-dev     |\n| clang          | libclang-dev       |\n| fontconfig     | libfontconfig1-dev |\n| lzma           | liblzma-dev        |\n| openssl        | libssl-dev         |\n| sqlcipher      | libsqlcipher-dev   |\n| sqlite3        | libsqlite3-dev     |\n| wabt           | wabt               |\n\nUsers of Debian-based systems (e.g. Ubuntu) can simply run the\nfollowing to install the required dependencies:\n\n```shell\n# apt-get update\n# apt-get install -y git cmake make gcc g++ pkg-config libasound2-dev libclang-dev libfontconfig1-dev liblzma-dev libssl-dev libsqlcipher-dev libsqlite3-dev wabt\n```\n\nAlternatively, users can try using the automated script under `contrib`\nfolder by executing:\n\n```shell\n% sh contrib/dependency_setup.sh\n```\n\nThe script will try to recognize which system you are running,\nand install dependencies accordingly. In case it does not find your\npackage manager, please consider adding support for it into the script\nand sending a patch.\n\nTo build the necessary binaries, we can just clone the repo, and use \nthe provided Makefile to build the project:\n\n```shell\n% git clone https://codeberg.org/darkrenaissance/darkfi\n% cd darkfi\n% make\n```\n\n## Development\n\nIf you want to hack on the source code, make sure to read some\nintroductory advice in the\n[DarkFi book](https://darkrenaissance.github.io/darkfi/dev/dev.html).\n\n### Living on the cutting edge\n\nSince the project uses the nightly toolchain, breaking changes are bound\nto happen from time to time. As a workaround, we can configure an older\nnightly version, which was known to work:\n\n```shell\n% rustup toolchain install nightly-2024-12-05\n% rustup target add wasm32-unknown-unknown --toolchain nightly-2024-12-05\n```\n\nNow we can use that toolchain in `make` directly:\n\n```shell\n% make CARGO=\"cargo +nightly-2024-12-05\" {target}\n```\n\nOr, if we are lazy, we can modify the `Makefile` to always use that:\n\n```shell\n% sed -i Makefile -e \"s|nightly|nightly-2024-12-05|g\"\n```\n\nUnder no circumstances commit or push the Makefile change.\n\nWhen using `cargo` directly, you have to add the `+nightly-2024-12-05` flag,\nin order for it to use the older nightly version.\n\n## Install\n\nThis will install the binaries on your system (`/usr/local` by\ndefault). The configuration files for the binaries are bundled with the\nbinaries and contain sane defaults. You'll have to run each daemon once\nin order for them to spawn a config file, which you can then review.\n\n```shell\n# make install\n```\n\n### Examples and usage\n\nSee the [DarkFi book](https://darkrenaissance.github.io/darkfi)\n\n## Go Dark\n\nLet's liberate people from the claws of big tech and create the\ndemocratic paradigm of technology.\n\nSelf-defense is integral to any organism's survival and growth.\n\nPower to the minuteman.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkrenaissance%2Fdarkfi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkrenaissance%2Fdarkfi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkrenaissance%2Fdarkfi/lists"}