This frees us from GitHub actions brownouts and early deprecation by no longer using Microsoft-maintained images in favor of bare images from Docker Hub. The latter keeps images available for a longer time, regardless of whether or not Canonical directly supports them. Benefits: - Decouples our release cycle from what Microsoft is willing to spend support effort on. - Reduces bloat in base images Because the bare ubuntu images contain a lot less pre-installed tooling, some changes in orchestration need to be made for this to be successful, as well as some workarounds can be removed: - All GitHub Actions base operating systems are set to ubuntu-24.04, as all we use from this now is containerd. - All docker images remain ubuntu:20.04 for now, as this is needed for symbol compatibility (and for now, we use the same version in Gitian builds) - Until the base image used for GitHub Actions and the provided containerd is providing sandboxed mounting on /proc, every process that needs custom binfmts needs to be ran privileged. Currently this means all windows builds need this. see: https://lore.kernel.org/all/20211028103114.2849140-2-brauner@kernel.org/ - Staying on custom binfmts, the Microsoft-maintained image contained mono runtimes and reduced compatibility with wine, for which we had workarounds in place. These are no longer needed and have been removed. - For future troubleshooting, the currently installed binfmts and the kernel version are verbosely displayed inside jobs - Because GitHub Actions does not allow us to pass zero arguments to container options, whenever there are none a dummy environment value 1DOGE is set to 1DOGE. - For macOS, the libbz2-dev library was missing from our system dependencies, this was masked by it being installed by default in the Microsoft-maintained image. - Bare containers do not come configured with a timezone, so this needed to be added to container initialization before any apt calls are made. - Because Microsoft runs the container under uid 1001, which does not exist in the bare ubuntu:20.04 image, a special cleanup step for the qa/cache needed to be made, or else the build caches would fail to upload at the end of the CI run.
Dogecoin Core [DOGE, Ð]
IMPORTANT: Starting August 2024, the master branch has become the primary
integration branch and has become unstable. Please check out a tagged version
before compiling production binaries.
For internationalized documentation, see the index at doc/intl.
Dogecoin is a community-driven cryptocurrency that was inspired by a Shiba Inu meme. The Dogecoin Core software allows anyone to operate a node in the Dogecoin blockchain networks and uses the Scrypt hashing method for Proof of Work. It is adapted from Bitcoin Core and other cryptocurrencies.
For information about the default fees used on the Dogecoin network, please refer to the fee recommendation.
Usage 💻
To start your journey with Dogecoin Core, see the installation guide and the getting started tutorial.
The JSON-RPC API provided by Dogecoin Core is self-documenting and can be browsed with dogecoin-cli help, while detailed information for each command can be viewed with dogecoin-cli help <command>.
Such ports
Dogecoin Core by default uses port 22556 for peer-to-peer communication that
is needed to synchronize the "mainnet" blockchain and stay informed of new
transactions and blocks. Additionally, a JSONRPC port can be opened, which
defaults to port 22555 for mainnet nodes. It is strongly recommended to not
expose RPC ports to the public internet.
| Function | mainnet | testnet | regtest |
|---|---|---|---|
| P2P | 22556 | 44556 | 18444 |
| RPC | 22555 | 44555 | 18332 |
Ongoing development - Moon plan 🌒
Dogecoin Core is an open source and community driven software. The development process is open and publicly visible; anyone can see, discuss and work on the software.
Main development resources:
- GitHub Projects is used to follow planned and in-progress work for upcoming releases.
- GitHub Discussions is used to discuss features, planned and unplanned, related to both the development of the Dogecoin Core software, the underlying protocols and the DOGE asset.
Version strategy
Version numbers are following major.minor.patch semantics.
Branches
There are 4 types of branches in this repository:
- master: Unstable, contains the latest code under development.
- maintenance: Stable, contains the latest version of previous releases,
which are still under active maintenance. Format:
<version>-maint - development: Unstable, contains new code for upcoming releases. Format:
<version>-dev - archive: Stable, immutable branches for old versions that no longer change because they are no longer maintained.
Submit your pull requests against master
Maintenance branches are exclusively mutable by release. When a release is planned, a development branch will be created and commits from master will be cherry-picked into these by maintainers.
Contributing 🤝
If you find a bug or experience issues with this software, please report it using the issue system.
Please see the contribution guide to see how you can participate in the development of Dogecoin Core. There are often topics seeking help where your contributions will have high impact and get very appreciation. wow.
Very Much Frequently Asked Questions ❓
Do you have a question regarding Dogecoin? An answer is perhaps already in the FAQ or the Q&A section of the discussion board!
License - Much license ⚖️
Dogecoin Core is released under the terms of the MIT license. See COPYING for more information.