{"id":34199827,"url":"https://github.com/aquachain/aquachain","last_synced_at":"2026-03-11T07:02:37.066Z","repository":{"id":57579008,"uuid":"162546661","full_name":"aquachain/aquachain","owner":"aquachain","description":"Aquachain (AQUA) Programmable money, distributed code contract platform, alt-ethereum","archived":false,"fork":false,"pushed_at":"2025-04-15T23:59:48.000Z","size":36192,"stargazers_count":7,"open_issues_count":5,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-16T00:27:00.422Z","etag":null,"topics":["altether","aquachain","blockchain","chain","cryptocurrency","evm","smart-contracts"],"latest_commit_sha":null,"homepage":"https://aquachain.github.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aquachain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-12-20T08:04:29.000Z","updated_at":"2025-04-15T23:58:46.000Z","dependencies_parsed_at":"2024-06-20T09:24:35.497Z","dependency_job_id":"f972bd85-8acb-4366-914c-d06768924376","html_url":"https://github.com/aquachain/aquachain","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/aquachain/aquachain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquachain%2Faquachain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquachain%2Faquachain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquachain%2Faquachain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquachain%2Faquachain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aquachain","download_url":"https://codeload.github.com/aquachain/aquachain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquachain%2Faquachain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30373511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: 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":["altether","aquachain","blockchain","chain","cryptocurrency","evm","smart-contracts"],"created_at":"2025-12-15T18:04:32.695Z","updated_at":"2026-03-11T07:02:37.061Z","avatar_url":"https://github.com/aquachain.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aquachain\n\nLatest Source: https://gitlab.com/aquachain/aquachain\n\nMirrored: https://github.com/aquachain/aquachain\n\nView or Improve the Documentation online: https://aquachain.github.io/docs/\n\n[![Website](https://img.shields.io/badge/Website-aqua.github.io-blue.svg)](https://aquachain.github.io)\n[![Explorer](https://img.shields.io/badge/Block_Explorer-aquachain.github.io/explorer-blue.svg)](https://aquachain.github.io/explorer/)\n\n[![Build and Test](https://github.com/aquachain/aquachain/actions/workflows/autobuildtest.yml/badge.svg?branch=master)](https://github.com/aquachain/aquachain/actions/workflows/autobuildtest.yml)\n[![Release](https://github.com/aquachain/aquachain/actions/workflows/release.yml/badge.svg)](https://github.com/aquachain/aquachain/releases/)\n\n[![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/!ZIGUfKJVCVhrCjBRfz:matrix.org/lobby?via=matrix.org)\n[![Chat on Discord](https://img.shields.io/badge/chat-on%20discord-blue.svg)](https://discordapp.com/invite/J7jBhZf)\n[![Chat on Telegram](https://img.shields.io/badge/chat-on%20telegram-blue.svg)](https://t.me/AquaCrypto)\n[![Telegram News](https://img.shields.io/badge/telegram-news-blue.svg)](https://t.me/Aquachain)\n[![Twitter](https://img.shields.io/twitter/follow/aquacrypto?style=social)](https://twitter.com/aquacrypto)\n\n\n[![SafeTrade](https://img.shields.io/badge/SafeTrade-AQUA/BTC-green.svg)](https://safetrade.com/exchange/AQUA-BTC?type=pro?aqua)\n[![DexScreener](https://img.shields.io/badge/DexScreener-AQUA_BEP20-green.svg)](https://dexscreener.com/bsc/0x38fab266089aaf3bc2f11b791213840ea3d587c7)\n\n** Found a bug **in this software**? Documentation lacking?\nSee https://gitlab.com/aquachain/aquachain/wikis/bugs **\n\nSee bottom of this document for more useful links. \nYour contributions are welcome.\n\n## General Purpose Distributed Computing\n\nAquachain: peer-to-peer programmable money, distributed code contract platform.\n\n    Target Block Time: 240 second blocks (4 minute)\n    Block Reward: 1 AQUA\n    Max Supply: 42 million\n    Algorithm: argon2id (CPU or GPU mined)\n    ChainID/NetworkID: 61717561\n\n### Known Explorers:\n\n- https://aquachain.github.io/explorer/\n- https://chain.n-e-t.name/explorer/\n\n### Known Pools:\n\n- https://aquachain.github.io/pools.json\n\n### Known Wallets:\n\n- https://frame.sh (Desktop)\n- https://metamask.io/ (Browser Extension)\n- https://download.mycrypto.com (Desktop, creates mnemonic phrases)\n- https://walleth.org (Android, burner accounts etc)\n\n## GET AQUACHAIN\n\nThe `aquachain` command (full node, RPC server, and wallet) is a portable \nprogram that doesn't really need an 'installer', you can run it from anywhere. \n\nWhen you first start `aquachain` you will connect to the peer-to-peer network \nand start downloading the chain from whatever peers it can find. \n\nTo change the way aquachain runs, for example testnet, or with json-rpc \nendpoints, use command line flags or TOML config file. (see Usage section) \n\nList all command line flags using the `-h` flag, or `aquachain help [subcommand]`\n\nYou should keep backups of your keystore files, if any, and regularly check \nunlocking them. It is generally better to keep private keys away from your node.\n\nWallets connect to RPC nodes and offer an easy-to-use interface (while keeping your keys off the server).\nHosting your own RPC server is easy and improves privacy and has zero downtime issues.\n\nBy default, using the -rpc flag listens only on 127.0.0.1:8543 and \noffers everything needed to connect wallets such as Frame, Metamask, Hardhat.\n\n## COMPILING\n\nRequires only [Go](https://golang.org/dl). Use the latest.\n\n** Patches can be submitted at Github or Gitlab or Mailing List **\n\n```\ngit clone https://gitlab.com/aquachain/aquachain\ncd aquachain\nmake\n```\nPrograms are built to the ./bin/ directory.\n\n### Linux Servers\n\nTo build a single deb for your server, `make clean cross deb release=1` (do not forget the release=1 argument)\n\nInstalling will ask some basic questions and install a few new configuration files:\n\n- `/etc/default/aquachain` (edit this to change environmental variables)\n- `/etc/aquachain/aquachain.conf` (this is generated by debconf)\n- `/etc/systemd/system/aquachain.service`(systemd service file)\n- `/usr/local/bin/start_aquachain.bash` (helper script to we use to read the config files and start the daemon with `systemctl`)\n\nAquachain RPC will start automatically on boot, and can be controlled with `systemctl` and reconfigured with `dpkg-reconfigure aquachain`. This deb installation feature is new and experimental as of v1.7.17.\n\n### Windows\n\nOn windows, double-click make.bat to compile aquachain.exe onto your Desktop.\n\n\n## Releases\n\nWhile compiled releases may exist, it is better to compile it yourself from latest source using above methods.\n\nThey can be cross-compiled with `make clean release release=1`\n\n- [Releases](https://github.com/aquachain/aquachain/releases/latest)\n\n## SYNCHRONIZING\n\n\"Imported new chain segment\" means you received new blocks from the network.\n\nWhen a single block is imported, the address of the successful miner is printed.\n\nWhen you start seeing a single block every 4 minutes or so,\nyou know that you are fully synchronized with the network.\n\n## USAGE\n\nEnter AQUA javascript console: `aquachain.exe`\n\nStart Daemon (geth's default): `aquachain.exe daemon`\n\nRun localhost rpc (port 8543): `aquachain.exe -rpc` \n\nSee more commands: [Wiki](https://gitlab.com/aquachain/aquachain/wikis/Basics)\n\nType `help` at the `AQUA\u003e` prompt for common AQUA console commands.\n\nRun `aquachain.exe help` for command line flags and options.\n\n## Config File (TOML)\n\nYou can use a TOML file to configure your node. To generate a TOML file based on the current environment, run `aquachain $FLAGS dumpconfig`.\n\nThe config file is useful for adding TrustedPeers, StaticPeers, and BootstrapNodes in the config file).\n\nPart of the config file for using manual peers:\n\n```toml\n[Node]\n[Node.P2P]\nBootstrapNodes = [\"enode://...\"]\nStaticPeers = [\"enode://...\"]\nTrustedPeers = [\"enode://...\"]\nNoDiscovery = false\n```\n\nTo share make a list of your peers, for sharing with others (for example, in case of discovery-network failure), first attach a console (sudo -u aqua aquachain attach) and in it run:\n\n```javascript\nx = admin.peers;\nfor (i = 0; i \u003c x; i++){\n  console.log(\"enode://\"+x[i].id + \"@\"+ x[i].network.remoteAddress)\n}\n```\n\n## Shell Completion\n\nTo enable shell completion, run `aquachain completion bash` and redirect the output to a file in your shell's completion directory.\n\nsystemwide:\n`aquachain completion bash \u003e /etc/bash_completion.d/aquachain`\n\nuser-only:\n```\nmkdir -p ~/.bash_completion.d\naquachain completion bash \u003e ~/.bash_completion.d/aquachain\n```\n\n## Environmental Variables\n\nSee also below in RPC section for more environment variables. If using deb package, you can add these to `/etc/default/aquachain` for easy configuration.\n\n(Run `make doc-print-env` to generate a list such as this one with all variables used.)\n\n```\nHELP2=1 (show alternate help text)\nNO_COUNTDOWN=1 (disable countdown on startup)\nNO_KEYS=1 (disable keystore system)\nNO_SIGN=1 (disable signing when keys are enabled and even unlocked)\nSCHEDULE_TIMEOUT=60s (quit after 60 seconds)\n```\n#### ENV: Alerts Platform\n\nGet notified of alerts instantly. Set these environment variables to enable alerts. You can run multiple nodes with the same alert config. This is new as of v1.7.17. It sends alerts when the node is started, when it is stopped, and when reorganizations occur. You must also use the -alerts flag, even if all these are set.\n\n```\nALERT_CHANNEL=-121234567\nALERT_PLATFORM=\"telegram\"\nALERTS_INFO=0 to disable INFO alerts\nALERTS_WARN=0 to disable WARN alerts for some reason\nALERTS_TOKEN=your-bot-token\n```\n\n#### ENV: Logging\n\n```\nCOLOR=1 (colorize logs even if not a tty)\nJSONLOG=1 (log in JSON format, recommended for servers)\nLOGLEVEL=3 for INFO\nLOGLEVEL=4 for WARN\nTESTLOGLVL is used when running 'go test' for some packages.\n```\n\n## RESOURCES\n\nOn some platforms, such as OpenBSD, the login class capabilities must be increased before synchronizing the chain. \nForgetting to do this will likely crash (\"Out of Memory\") while the machine has plenty of unused RAM. (see `man login.conf`)\n\n## RPC SERVER\n\nSee \"RPC\" section in ./Documentation folder and online at:\nhttps://aquachain.github.io/docs/\n\nStart HTTP JSON/RPC server for local (127.0.0.1) connections only:\naquachain -rpc\n\nStart HTTP JSON/RPC server for remote connections, listening on 192.168.1.5:8543,\nable to be accessed only by 192.168.1.6:\n\n    aquachain -rpc -rpchost 192.168.1.5 -allowip 192.168.1.6/32\n\nWith no other RPC flags, the `-rpc` flag alone is safe for local usage (from the same machine).\n\n### Security Note about RPC\n\nPlease be aware that hosting a public RPC server (0.0.0.0) will allow strangers access to your system.\n\nDo not use the `-rpcaddr` flag unless you absolutely know what you are doing.\n\nFor hosting public RPC servers, please consider using -nokeys (_new!_) and implementing\nrate limiting on http (and, if using, websockets) , either via reverse proxy such as\ncaddyserver or nginx, or firewall.\n\n### RPC Access Restrictions\n\nBy default, running aquachain with no flags (either the `daemon` subcommand or default `console` subcommand) only allows outside communication from the same user on the same machine, via the ipc socket. Further, all signing methods are disabled. \n\nTo allow TOTALLY UNSAFE methods such as `_sendTransaction` and `_sign`, you must use environment variables to allow access to these methods.\n\nHere are the environment variables that can be set to allow access to these methods:\n\n\n\n```\nNO_KEYS must NOT be set to allow interacting with keys\nNO_SIGN must NOT be set to allow signing\nUNSAFE_ALLOW_SIGN_INPROC=1 for console\nUNSAFE_ALLOW_SIGN_IPC=1 for attach\nUNSAFE_RPC_SIGNING=1 for all RPC methods\nUNSAFE_RPC_SIGNING_HTTP=1 for HTTP RPC methods\nUNSAFE_RPC_SIGNING_WS=1 for WS RPC methods\n```\n\n### Further Restricting RPC access\n\n\nCan't connect to your remote RPC server? `-allowip` flag is closed **by default**\n\nRecent builds of aquachain include support for the `-allowip` flag.\n\nDefault allowip is 127.0.0.1/24, which doesn't allow any LAN or WAN addresses access to your RPC methods. But it does allow localhost access.\n\nTo add IPs, use `aquachain -rpc -rpchost 192.168.1.4 -allowip 192.168.1.5/32,192.168.2.30/32`\n\nThe CIDR networks are comma separated, no spaces. (the `/32` after an IP means 'one IP')\n\n## RPC Clients\n\nThe JSON/RPC server is able to be used with \"Web3\" libraries for languages such\nas **Python** or **Javascript**. \n\nThese include [Ethers](https://docs.ethers.io/v5/) \nor [Hardhat](https://hardhat.org/)\nor [web3js](https://web3js.readthedocs.io/)\nor [web3py](https://web3py.readthedocs.io/)\n\nFor compatibility with existing tools, all calls to `eth_` methods are translated to `aqua_`, behind-the-scenes.\n\nThis repository is also a Go library! See each package's documentation (godoc) for more information on usage.\n\n## Major differences from upstream\n\nAquachain is similar to Ethereum, but differs in a few important ways.\n\n### Max Supply\n\nMax supply of 42 million, estimated to occur Thu Aug  5 04:23:29 AM UTC 2337\n(@11600079809)\n\n### No Pre-mine\n\nThe number of coins in existence is important.\n\nOn the aquachain network, no coins were created without being mined.\n\nOne coin for each block, with occasional uncle reward.\n\nEach year the chain grows by approximately 120000 blocks.\n\nCompare in contrast to the Ethereum network, which distributed around 80 million coins to their foundation and pre-sale on day one.\nIn such a system with pre-mined coin, there will never be a time where miners have outmined the pre-mined team allocation.\n\nBy dedicating a rig or two to mining this chain you are promoting a healthy strong network!\n\nAnyone, anywhere, can start mining today to receive a stream of coins to their wallet.\n\n### Block header\n\nEach block has a 'version' which is only known by consensus rules.\n\nWhen using the aquachain go packages, before calling block.Hash(), the version MUST be 'set' using block.SetVersion(n). **Failure to do so will panic.**\n\nThis should always be done exactly ONCE immediately after deserializing a block.\n\n### Hashing Algorithm Switch\n\nMining software should use the HF map consensus rules to determine the header version based on block height, which determines which hash function to use.\n\nHeader version 1 uses ethash.\n\nHeader version 2 uses argon2id(1,1,1)\n\n### Full node components\n\nMany non-critical geth components were removed to create a node that is better on resources.\n\nWe have a \"100% go\" build with no C dependencies.\n\nWhen you compile aquachain, you should have built a static binary.\n\n### Block target time\n\nThe 240 seconds block time has successfully deterred typical \"DEX\" and \"ERC20 token\" projects from existing on the chain.\n\nThis frees up the blocks for you and your user's transactions to be mined at an inexpensive gas price.\n\nTypical DEX/ERC20 projects depend on a relatively short block time to (seemingly) provide realtime trading.\n\nThe dangers of a slow block time include but are not limited to frontrunning.\n\nPlease do not create a DEX/ERC20 project here.\n\n### EVM Version\n\nSolidity developers take note: the Aquachain EVM is not the same as other chains.\n\nCertain opcodes simply do not exist here such as CREATE2 and CHAINID and others.\n\nWhen compiling solidity code, use 'Byzantium' EVM target and enable optimization.\n\nIf you think there should be a change to our EVM, submit a pull request or join chat.\n\n### ChainID\n\nAquachain chainId is 61717561\n\n### Hard Fork Constitution\n\nBy enforcing these HF limitations, we prevent manipulation of the aquachain economy. Rules should be easy to add, and should be difficult to remove one. (subject to change)\n\n  1. A HF will never be made to increase supply\n\n  2. A HF will never be made to censor or block a transaction\n\n  3. A HF will never be made to refund coin for any reason.\n\n  4. A HF will never be made to benefit one or only a small subset of miners.\n\n  5. A HF will never be made to benefit one or only a small subset of users.\n\n  6. A HF will never be made for no good reason.\n\n  7. A HF will never be made when a simple upgrade could replace it.\n\n  8. A HF should be made as soon as possible if an \"ASIC threat is realized\"\n\n  9. A HF should be made as soon as possible if an exploit is found that can be abused for profit or leads to denial of service or loss of funds.\n\n  10. A HF should be made as soon as possible if a \"serious bug\" is found in the core aquachain source code that can lead to loss of money for the average aquachain user.\n\n  11. If no HF are required, a scheduled hard fork can be made to tweak the algorithm every 4 to 6 months, to prevent ASIC production.\n\n\n\n## Resources\n\nWebsite - https://aquachain.github.io\n\nExplorer - https://aquachain.github.io/explorer/\n\nAbout - https://telegra.ph/Aquachain-AQUA---Decentralized-Processing-07-20\n\nMining - https://telegra.ph/Mining-AQUA-05-27\n\nWiki - https://gitlab.com/aquachain/aquachain/wikis\n\nANN - https://bitcointalk.org/index.php?topic=3138231.0\n\nGitlab - http://gitlab.com/aquachain/aquachain\n\nGithub - http://github.com/aquachain\n\nTelegram News: https://t.me/Aquachain\n\nGodoc - https://godoc.org/gitlab.com/aquachain/aquachain#pkg-subdirectories\n\nReport bugs - https://github.com/aquachain/aquachain/issues\n\nMatrix: https://matrix.to/#/!ZIGUfKJVCVhrCjBRfz:matrix.org/lobby?via=matrix.org\n\nTelegram Chat: https://t.me/AquaCrypto\n\nDiscord: https://discordapp.com/invite/J7jBhZf\n\nBugs: https://gitlab.com/aquachain/aquachain/wikis/bugs\n\n## Contributing\n\nAquachain is free open source software and your contributions are welcome.\n\n### Some tips and tricks for hacking on Aquachain core:\n\n- Always `gofmt -w -l -s` before commiting. If you forget, adding a simple\n  'gofmt -w -l -s' commit message works.\n- Before making a merge request, try `make test` to run all tests. If any\n  tests pass, the PR can not be merged into the master branch.\n- Rebase: Don't `git pull` to update your branch. instead, from your branch, type `git rebase -i master` and resolve any conflicts (do this often and there wont be any!)\n- Prefix commit message with package name, such as \"core: fix blockchain\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faquachain%2Faquachain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faquachain%2Faquachain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faquachain%2Faquachain/lists"}