Bitcoin Forum
September 13, 2025, 09:49:24 PM *
News: Latest Bitcoin Core release: 29.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 [10]  All
  Print  
Author Topic: Gocoin - totally different bitcoin client with deterministic cold wallet  (Read 38781 times)
lokiverloren
Newbie
*
Offline Offline

Activity: 85
Merit: 0


View Profile
May 31, 2018, 08:08:10 PM
 #181

I just wanted to report on my experiences forking. I actually searched through all the 100 other forks and nobody really did anything. So I basically really was doing something that had not been done before.

I was able to change the majority of chain parameters and use different DNS seeds but for a reason I have not yet been able to determine, the peers on the other network refuse to grant auth to my modified gocoin node. I mean, it is significantly different, there is two PoW types in the network I am trying to join it to. The gocoin client doesn't even report the IP addresses in the interface of the nodes it's trying to connect to in the network section. I added extensive trace logging to many functions and these revealed the IP addresses but to be honest I don't know for sure if they were even correct from the DNS seed.

I kinda had hoped that configuration would be more centralised but instead there is about 3 or maybe more different places in the source that have to be changed and those that I have identified, and changed to match the other network were not enough to get peers seeding blocks to my node.

It's not a complaint, per se, or a request or anything like that. It's just a very nice bitcoin client and I thought it would not be so difficult to make it talk to a network based very closely on bitcoin (parallelcoin) and really quite old, so old that building the binary is a maze of ancient dependencies.

I understand that you build this mainly for your own benefit, so your needs are necessarily quite different being a well seasoned blockchain dev. Anyway, it's a very nice thing you made, just seems to be a bit too different for me to be able to figure out how to get it to connect to a different but basically bitcoin-based network.
Kazimir
Legendary
*
Offline Offline

Activity: 1176
Merit: 1015



View Profile
June 01, 2018, 12:56:50 PM
 #182

try deleting the peers3 folder.

it keeps the database of your known peers, but the node will find new ones as soon as it's up.
Thanks, it seems to be working again!

Maybe it would be a good addition to auto delete or re-generate this file or dir if it's corrupt or missing? That way, if this situation would ever occur for some reason, Gocoin can still continue.

In theory, there's no difference between theory and practice. In practice, there is.
Insert coin(s): 1KazimirL9MNcnFnoosGrEkmMsbYLxPPob
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2058
Merit: 1427


aka tonikt


View Profile WWW
June 01, 2018, 01:00:14 PM
 #183

try deleting the peers3 folder.

it keeps the database of your known peers, but the node will find new ones as soon as it's up.
Thanks, it seems to be working again!

Maybe it would be a good addition to auto delete or re-generate this file or dir if it's corrupt or missing? That way, if this situation would ever occur for some reason, Gocoin can still continue.

It's just never happened to me that this DB would get corrupt.

If you can find a way to reproduce the issue, I can investigate then and find the best fix for the problem.

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
lokiverloren
Newbie
*
Offline Offline

Activity: 85
Merit: 0


View Profile
June 04, 2018, 06:34:14 AM
 #184

Ok, I have returned to working on it... I got a full node of another chain running and set this node as sole peer of the altered prototype. Now it reports bad header formats and PoW, as it should since the coin I am altering the client to work with has two - and an extra byte in the block header to signify which PoW is used on a block.

I have to do some forensics on the blocks of the foreign chain, split the logic so there is two PoW difficulty consensus values and the recognition of valid PoWs, but I am making significant progress. I most likely will, at the end of this process, be able to precisely point at which parts have to be changed to cope with a different network, and which for different chains, I have the idea of shifting all those functions and settings into a separate library so it becomes possible to quickly target a new PoW coin using the Gocoin codebase.

https://github.com/ParallelCoinTeam/duod

There is a working docker version of the circa 2014 parallelcoin in there, likely you could easily substitute any other for this purpose. I set the configuration from the gocoin side to connect only to this docker instance. After it grabs 20 incorrectly formatted blocks it complains and stops syncing for a bit, tries again, complains again... If you changed which coin was built in this you could make it work, change genesis block info, PoW verification, difficulty adjustment policies, etc.
Kazimir
Legendary
*
Offline Offline

Activity: 1176
Merit: 1015



View Profile
June 20, 2018, 09:00:55 AM
 #185

try deleting the peers3 folder.

it keeps the database of your known peers, but the node will find new ones as soon as it's up.
Thanks, it seems to be working again!

Maybe it would be a good addition to auto delete or re-generate this file or dir if it's corrupt or missing? That way, if this situation would ever occur for some reason, Gocoin can still continue.

It's just never happened to me that this DB would get corrupt.

If you can find a way to reproduce the issue, I can investigate then and find the best fix for the problem.
I haven't been able to reproduce it, the problem did not show up anymore. Possibly it was due to a sudden system shutdown (electricity failure), perhaps on a very unlucky moment, which caused a DB corruption.

Anyway if I encounter the problem again I will see if I can investigate anything. So far Gocoin is working great!

In theory, there's no difference between theory and practice. In practice, there is.
Insert coin(s): 1KazimirL9MNcnFnoosGrEkmMsbYLxPPob
bitcurve
Member
**
Offline Offline

Activity: 76
Merit: 11


View Profile
November 28, 2024, 06:48:02 AM
 #186

This is a very nice project, I started working on it and adding features by the way, like verification of blocks (currently newly mined block hashes aren't being checked but just trusted), cleaner code and multi-chain functionalities, (for creating altcoins, etc).

I wonder if i can get an official statement about the current project status from its creator,

Thanks in advanced
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2058
Merit: 1427


aka tonikt


View Profile WWW
November 28, 2024, 02:05:27 PM
 #187

It is being actively maintained, occasionally some new features are added.

See the changelog.txt for the recent changes.

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
bitcurve
Member
**
Offline Offline

Activity: 76
Merit: 11


View Profile
November 28, 2024, 02:42:02 PM
 #188

It is being actively maintained, occasionally some new features are added.

See the changelog.txt for the recent changes.


Thanks, but i meant more a status of the completness of it versus bitcoin core. What features it has implemented, and what it lacks.
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2058
Merit: 1427


aka tonikt


View Profile WWW
November 28, 2024, 02:53:41 PM
Merited by Pmalek (2)
 #189

It's never going to have identical features as Bitcoin Core - that was never the point.

There are some BC features that will likely never be implemented (e.g. bloom filters)
And there are some original Gocoin features the BC will likely never implement (e.g. trusted peers)

At the other hand, there are some feature BC has that are still supposed to be added (e.g. IP v6 support), although there is no roadmap for them.

The mining API is certainly a big missing feature, but since there is nobody interested in mining with Gocoin, it's pointless to add and then maintain it.


EDIT:
That said, all the blockchain consensus/verification rules are 100% implemented and up to date, and there are no known compatibility differences there between gocoin and bitcoin core. All the differences are not consensus related (e.g. P2P protocol or UI features).

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
bitcurve
Member
**
Offline Offline

Activity: 76
Merit: 11


View Profile
November 28, 2024, 03:13:58 PM
 #190

It's never going to have identical features as Bitcoin Core - that was never the point.

There are some BC features that will likely never be implemented (e.g. bloom filters)
And there are some original Gocoin features the BC will likely never implement (e.g. trusted peers)

At the other hand, there are some feature BC has that are still supposed to be added (e.g. IP v6 support), although there is no roadmap for them.

The mining API is certainly a big missing feature, but since there is nobody interested in mining with Gocoin, it's pointless to add and then maintain it.


EDIT:
That said, all the blockchain consensus/verification rules are 100% implemented and up to date, and there are no known compatibility differences there between gocoin and bitcoin core. All the differences are not consensus related (e.g. P2P protocol or UI features).


Got it. I made some improvments to the mining, if you want i can send it to you
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2058
Merit: 1427


aka tonikt


View Profile WWW
November 28, 2024, 03:22:48 PM
Merited by pooya87 (4), ABCbits (1)
 #191

No, thanks.
Because I have no good way to do an actual mining, so I wouldn't be able to maintain it with an acceptable quality.

I did add some simple mining API to cheat-mine testnet coins with the old GPU miners, but that's not something I want to advertise or encourage people to use.
One cyber punk already fucked up testnet3 trying to impress people with his testnet hacking skills and I would like testnet4 to stay useful for a bit longer, before another genius decides to shit all over it. Smiley

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
Pages: « 1 2 3 4 5 6 7 8 9 [10]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!