{"id":18017395,"url":"https://github.com/alexdovzhanyn/elixium_core","last_synced_at":"2026-02-13T13:09:52.386Z","repository":{"id":57494556,"uuid":"118986104","full_name":"alexdovzhanyn/elixium_core","owner":"alexdovzhanyn","description":"A privacy-preserving decentralized application network","archived":false,"fork":false,"pushed_at":"2021-09-02T23:33:22.000Z","size":515,"stargazers_count":285,"open_issues_count":12,"forks_count":36,"subscribers_count":40,"default_branch":"master","last_synced_at":"2026-01-14T07:33:47.280Z","etag":null,"topics":["bitcoin","blockchain","cryptocurrency","elixir","elixium"],"latest_commit_sha":null,"homepage":"https://www.elixiumnetwork.org/","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexdovzhanyn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-26T00:51:54.000Z","updated_at":"2025-12-18T14:43:53.000Z","dependencies_parsed_at":"2022-09-02T19:51:15.330Z","dependency_job_id":null,"html_url":"https://github.com/alexdovzhanyn/elixium_core","commit_stats":null,"previous_names":["elixiumnetwork/elixium_core","ultradark/ultradark_core"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alexdovzhanyn/elixium_core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexdovzhanyn%2Felixium_core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexdovzhanyn%2Felixium_core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexdovzhanyn%2Felixium_core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexdovzhanyn%2Felixium_core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexdovzhanyn","download_url":"https://codeload.github.com/alexdovzhanyn/elixium_core/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexdovzhanyn%2Felixium_core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29407396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bitcoin","blockchain","cryptocurrency","elixir","elixium"],"created_at":"2024-10-30T04:23:02.354Z","updated_at":"2026-02-13T13:09:52.331Z","avatar_url":"https://github.com/alexdovzhanyn.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/ElixiumNetwork/elixium_core.svg?branch=master)](https://travis-ci.org/ElixiumNetwork/elixium_core)\n[![Join the chat](https://patrolavia.github.io/telegram-badge/chat.png)](https://t.me/elixiumnetwork)\n\n# Elixium\nElixium is a decentralized application network built for developers; its a\nProof of Work blockchain that allows engineers to write programs that run on the\nchain. Right now, we're very early in our development phase, so it's a great\ntime to get involved if you want to sway the direction of the project. We're\ncompletely open source and community driven, and we aim to continue being that\nway -- decentralized even within the development team. Check out the\n[Contribution Guide](https://github.com/ElixiumNetwork/elixium_core/blob/master/CONTRIBUTING.md)\nto get started with contributing to Elixium. If you have any trouble getting set\nup or just want to join in with our development discussion, join our\n[Telegram Group](https://t.me/joinchat/JjYPS0WI62EMuMXovyjskA). The\n[Elixium Development Wiki](https://developers.elixiumnetwork.org)\nis a great place to get familiarized with Elixium's codebase.\n\n### What we're aiming to solve\nOne of the biggest issues in the blockchain ecosystem right now is the high barrier\nto entry for engineers who want to use the technology, whether its to create a\ndecentralized application or just to interface with the blockchain. This can be\nattributed to many different things, but the most pressing reason is that\nlanguage support in the ecosystem is very poor. In order for an engineer to\ncreate a decentralized application or smart contract, they need to either learn\na language that is specifically created for smart contracting or use a\npredetermined language that they might not already know. The fact of the matter\nis that learning a new language can take days or even weeks, and engineers are\nvery excited about blockchain but don't want to invest weeks of their time\nlearning a new toolset for a system that might not exist in a few years\n(e.g. learning Solidity to create Ethereum dApps), since the ecosystem is so\nrapidly evolving.\n\nElixium mitigates this barrier to entry by employing language agnostic smart\ncontracts -- decentralized applications that can be written in potentially any\nlanguage. Engineers will no longer be tied down to learning a new language like\nSolidity or migrating to a language like Javascript, they'll be able to use their\nexisting toolset and create decentralized applications with any language that\ncompiles to WebAssembly. They'll be able to use their C, C++, Python, Go, and\nany other language they're already familiar with -- all they have to do is learn\na new API to interact with the chain.\n\n### A few other goodies\n- Smooth token emission similar to the CryptoNote token emission algorithm\n- Memory-hardened PoW algorithm that discourages the usage of FPGA/ASICs\n- Journalized sharding (more info [here](https://research.elixium.app/qKN0VINqS_eo3AjJ0O4LLQ#Sharding))\n- TCP-layer zero knowledge peer authentication for secure communication\n- Low target block solve time\n\n### Private transactions\nWe're going to be the first (that we're aware of) blockchain that strictly\nenforces zkSNARKS technology in it's core. Other networks default to insecure /\nnon-private transactions and some allow nodes to opt into secure transactions.\nOur approach is to only allow private transactions via zero knowledge proofs\n-- it's part of our consensus mechanism. We're still researching this, but we're\nlooking at using Hyrax, a zero knowledge protocol that doesn't need a trusted\nsetup.\n\n## Why Elixir?\nElixir is a language built with Erlang, and Erlang powers the entire telecom\nindustry. This is the language that supports the infrastructure of our mobile\nphone networks. It was built by a company called Ericcson in 1986 for the\npurposes of being distributed, fault tolerant, and to have support for\nuninterruptable applications. Erlang was reported to have been used in\nproduction systems with an uptime of 9 nines, which is a maximum downtime of\n_32 milliseconds per year_. This is a great fit for blockchain, as it is a system\nthat needs to be extremely fault tolerant and available.\n\nConcurrency is at the core of the language - processes are cheap and you can\nrun hundreds of thousands to even millions of processes easily. This allows for\nhuge performance improvements and parallelization. Erlang has built in error\ncontainment and fault tolerance. It has a really cool feature called a\nSupervisor, which automatically restarts failed processes. Erlang also features\nhot code swapping functionality -- allowing the software to be updated without\ninterrupting the program. This makes writing distributed applications easy.\n\nBecause of Erlang's large support for concurrency, Elixium is able to mitigate\npain points in blockchain by massively parallelizing things like transaction\nprocessing. Whenever a new transaction comes in, it's cheap and easy to spin up\na separate process to validate and relay that transaction.\n\nUsing hot code swapping, Elixium reduces friction from nodes whenever a new\nversion is released. Rather than a maintainer of a node needing to take down that\nnode, download a patch, run the update, and then start the node back up,\nmaintainers can choose to have their nodes updated on the fly. This reduces the\nchances of forks happening on the chain whenever a new patch is released.\n\nAs a result of the fault tolerance built into Erlang, and by extension Elixir,\nElixium is able to have self-healing nodes. If a node encounters an error during\nruntime, rather than crashing and waiting for the maintainer of the node to notice\nand restart the node, it is able to restart itself and not lose context of its\ncurrent operations, which adds to the total uptime and security of the overall\nnetwork.\n\nBlockchain technology in it's current state is written mostly in C or C-like\nlanguages, leaving development communities outside of this umbrella of languages\nlacking in their support for the technology. By writing a blockchain in Elixir\nwe hope to accomplish a few things:\n\n1. Expand the blockchain development community into new languages and provide a reference to those who are more comfortable in Elixir\n2. Take advantages of the insane speed of Elixir to allow for a faster peer-to-peer network.\n3. Once again taking advantage of the performance of Elixir, allow for the development of decentralized apps within the Elixir community.\n\nThis code is licensed under the MIT License, which means _anyone_ can use it to\ndo _anything_ they want.\n\n### Developer Setup\nThis is the core repo for the Elixium blockchain. Elixium is split up into a few\ndifferent repositories based on their functionality, as follows:\n- Elixium Core (this repository)\n  A library housing all of the implementation functions and algorithms of Elixium\n- [Elixium Miner](https://www.github.com/ElixiumNetwork/elixium_miner)\n  Pulls in the core library as a dependency and uses functionality in the core to\n  facilitate peer-to-peer connections, block/transaction validation, and mining.\n- [Elixium Node](https://www.github.com/ElixiumNetwork/elixium_node)\n  Almost exactly the same as the miner except that no mining happens. Miner and\n  node are separate for now but are very likely to become one project because of\n  all of their similarities.\n- [Elixium Wallet](https://www.github.com/ElixiumNetwork/elixium_wallet)\n  Aims to be an SPV implementation as a desktop wallet. Is currently only a CLI\n  as the main focus is currently on developing the core and network.\n\nBecause Elixium Core is a library that other projects in the Elixium ecosystem\npull in as a dependency, the easiest way to update / test the core is by pulling\ndown either the miner repo or the node repo and using them to call functions\ndefined in the core. Check the\n[Developer Setup Guide](https://github.com/ElixiumNetwork/elixium_core/wiki/Developer-Setup-Guide)\nfor detailed step-by-step instructions on how to do this.\n\nDocumentation for core can be found both in the codebase itself and on\n[Hexdocs](https://hexdocs.pm/elixium_core/api-reference.html).\n\nIf you want to interact with strictly with core, it's possible (although much\nmore tedious) by using the test suite or the Elixir interactive shell. To do this,\nrun `mix deps.get` to fetch any dependencies needed to run Elixium. After\ndownloading all dependencies, run `mix compile` to compile the Elixir code. To\nrun the test suite, run `mix test`. In order to play around with Elixium and\nit's methods in an interactive shell, run `iex -S mix`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexdovzhanyn%2Felixium_core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexdovzhanyn%2Felixium_core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexdovzhanyn%2Felixium_core/lists"}