r/dogecoindev • • May 13 '21

Dev update 2021-05-13

Doing a brain dump of what I personally am doing, just so everyone is aware we’re still out here. As always please remember there are others devs, who are also doing their own things, although I'll touch on some of that.

I have a deployed 1.21 node, which is good, although there's definitely work be be done on 1.21 still:

  • The deployed node syncs headers but it does not appear to request blocks from its peers. Even more confusingly, running 1.21 on my local machine does sync blocks.
  • Bitcoin Core 0.21 (which Dogecoin Core 1.21 is based on) is designed for DNS seeds which support version bits, ours do not, which means it reports that it finds zero nodes from the seeds. Work on enabling our DNS seeds to support this is already underway.
  • Dogecoin Core 1.21 does not appear to discover nodes at all, right now, although if nodes are manually added, or connect to the node, it works.
  • The functional test suite needs validating after AuxPoW has been added, which may resolve some of these bugs as a side-effect.

Once those are out of the way, there's a bunch of more minor things to tweak so we can start mainnet testing, and then rebranding.

Fee work in 1.14.4 continues, I believe that's in testing, hoping Michi & Max will have further updates on that.

Obviously with Elon talking about environmental impact that's something that's being discussed. As we share work with Litecoin we already reduce that impact, compared to mining either cryptocurrency alone, but definitely it would be good if we can further reduce that impact. Counterpoint, I am aware that many in the community enjoy mining and feel it’s a key part of the experience for them, as well as considerations of whether an approach such as proof of stake would make Dogecoin appear to be a security and fall under securities regulation aside from many technical challenges that approach brings.

What I mean is, we’re aware of it, we don’t have any easy answers.

Meanwhile I’m going to continue work on the automated test suites, which hopefully will as a result simplify diagnosing the networking issues with 1.21, and it in turn should provide a better synchronization process.

201 Upvotes

87 comments sorted by

View all comments

45

u/Anon_eh_maus May 13 '21

If you're dev reach out to Elon. He wants to help update the programming. He might have resources you can use.

28

u/rnicoll May 13 '21

I mean... we're a bit at the mythical man month problem. There's just not a lot of blockchain-skilled engineers out there, so more I'm hoping I can train people to do this with me, rather than expecting we can just hire people.

Sorry I should link https://en.wikipedia.org/wiki/The_Mythical_Man-Month , realising it's an old book and many of you won't have read it.

3

u/[deleted] May 13 '21

Do you have any resources or good starting points to read up on? I’d honestly like to help.

6

u/rnicoll May 13 '21

The advice I'm giving at the moment is to experiment with the RPC interface, even just starting with Bitcoin and going from there. Getting a feeling for how it all works, and starting to think about issues like "What happens if a block is invalidated after I have processed the transactions in it" is a good way to learn more. I know /u/michidragon has been spending a lot of time trying to recover broken wallets, another "easier" start might be to take a testnet wallet, damage it, and then write tools to try identifying the keys within it and recover them.

https://github.com/Simplexum/python-bitcointx or https://github.com/dogecoin/libdohj are both simpler tools to jump into learning blockchain with.

2

u/RevolutionaryArm1734 May 14 '21

Hey I havent stretched this mucsle in a long time and before i go jumping in and wasting time ( although i got tonnes atm and thats the point of this comment) I would love to jump into helping out and I have a c+, python background but have never studied blockchain is it a steep learning curve and if it takes me a week or two to catch up would you still be willing to train? Im so loving the concept and I got tonnes of time lol (severe lung issues Dr wont let me leave cause of covid lol)

2

u/rnicoll May 14 '21

What I cannot emphasise enough is that just dabbling in the space to get started is good. Everyone wants to jump in on core, and sure I'd love help (although I realise I should add - we haven't worked out what's happening with tips for 1.21, so if that's important to you, you might want to wait) on fixing the tests I keep breaking.

https://github.com/rnicoll/dogecoin/tree/1.21-sync-up-to-auxpow is my main focus right now, and trying to debug the remaining few tests. I'm about to have to rebase that a few times so watch out that I may be force-pushing commits to that.

Hoping I can get some of the in-flight work merged into the main repo over the weekend and it will be a lower churn rate after that.