Suhas Daftuar 1e596ed731
net: improve upon transaction scheduling rework
- Add an explicit memory bound to m_tx_process_time
  Previously there was an implicit bound based on the handling
  of m_tx_announced, but that approach is error-prone
  (particularly if we start automatically removing things from
  that set).

- Remove NOTFOUND transactions from in-flight data structures
  This prevents a bug where the in-flight queue for our peers
  will not be drained, resulting in not downloading any new
  transactions from our peers.

- Expire old entries from the in-flight tx map
  If a peer hasn't responded to a getdata request, eventually
  time out the request and remove it from the in-flight data
  structures. This is to prevent any bugs in our handling of
  those in-flight data structures from filling up the
  in-flight map and preventing us from requesting more
  transactions (such as the NOTFOUND bug mentioned above).

- Fix bug around transaction requests
  If a transaction is already in-flight when a peer announces
  a new tx to us, we schedule a time in the future to
  reconsider whether to download. At that future time, there
  was a bug that would prevent transactions from being
  rescheduled for potential download again (ie if the
  transaction was still in-flight at the time of
  reconsideration, such as from some other peer). This fixes
  that bug.

- Improve NOTFOUND comment

Cherry-picked from: 218697b6, 23163b75, e32e0840, f635a3ba
                    and 308b7673
Co-authored-by: Anthony Towns <aj@erisian.com.au>
2022-07-12 02:51:03 +02:00
2017-01-02 09:36:03 +01:00
2022-06-12 02:47:51 +02:00
2022-01-06 19:13:20 -06:00
2022-05-15 09:06:50 +00:00
2021-08-20 03:51:39 +02:00
2021-08-20 03:07:32 +02:00
2022-05-31 17:58:01 +02:00

Dogecoin

Dogecoin Core [DOGE, Ð]

DogecoinBadge MuchWow

Select language: EN | CN

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.

Website: dogecoin.com

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>. Alternatively, see the Bitcoin Core documentation - which implement a similar protocol - to get a browsable version.

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 Discussion 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.
  • Dogecoindev subreddit

Version strategy

Version numbers are following major.minor.patch semantics.

Branches

There are 3 types of branches in this repository:

  • master: Stable, contains the latest version of the latest major.minor release.
  • maintenance: Stable, contains the latest version of previous releases, which are still under active maintenance. Format: <version>-maint
  • development: Unstable, contains new code for planned releases. Format: <version>-dev

Master and maintenance branches are exclusively mutable by release. Planned releases will always have a development branch and pull requests should be submitted against those. Maintenance branches are there for bug fixes only, please submit new features against the development branch with the highest version.

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.

Communities 🚀🍾

You can join the communities on different social media. To see what's going on, meet people & discuss, find the latest meme, learn about Dogecoin, give or ask for help, to share your project.

Here are some places to visit:

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 or see opensource.org

Description
Languages
C++ 62.3%
C 16.8%
Python 15.1%
M4 2.6%
Makefile 1.2%
Other 1.9%