Bitcoin Forum
November 04, 2024, 10:49:23 PM *
News: Latest Bitcoin Core release: 28.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 38566 times)
devads
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
March 29, 2018, 01:46:59 PM
 #161

Someone on r/BitcoinDiscussion (https://www.reddit.com/r/BitcoinDiscussion/comments/83wpxb/raspberry_pi_cold_storage/) suggested I use your tool Gocoin to make a cold storage wallet with my Raspberry Pi Zero. Oddly enough I have been learning Go recently so have a basic understanding of the language (which I assume will help). What are the first steps I need to take to get the relevant files on my Pi Zero? Is all I need Rasbian and a Go compiler? I assume I'll also need to get the wallet Github files on there? What's the best way of doing this? Sorry if these are pretty basic questions just looking for some pointers on getting started.

Thanks for making the tool it looks really useful and Go seems to be a versatile programming language.

Thanks in advance,

Adam
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
March 29, 2018, 02:00:37 PM
 #162

You don't need to build the wallet for your Raspberry Pi on Rasbian.
You can build it on any PC with a working go compiler.

Normally, when you do "go build" inside the wallet/ folder, it makes binary file for the host platform.

In order to build for another platform (Rasbian, in this case), just set the following environment variables:
Code:
GOOS=linux
GOARCH=arm
Then execute again "go build" inside the wallet/ folder - it should make "wallet" file that you can run on raspberry pi.

Simply copy the binary to your raspberry pi file system and it should be ready to go.
Just mind that you may need to do "chmod +x wallet" on it, before running it for the first time.

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
devads
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
April 05, 2018, 02:02:03 PM
 #163

Thanks for your help with this. I have been able to get an executable file called wallet onto the raspberry pi. How would I initialise this wallet on the device? When I click it it says file is executable and I can click execute, execute in terminal or cancel.Having tried both execute and execute in terminal nothing seems to be happening.

Thanks again for your help and development of this program.
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
April 05, 2018, 03:05:32 PM
 #164

It is command line only - you need to run it inside a terminal.
Don't run it from the desktop as you won't see what it prints.

For instructions on how to setup the wallet, read the manual: http://gocoin.pl/gocoin_manual_wallet.html

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
devads
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
April 05, 2018, 08:54:28 PM
 #165

So I have tried to run wallet -h in the command line and it says wallet:command not found. Does this mean I have done something incorrectly? Sorry if these questions seem basic I'm quite new to go and just wondering how to open or run the actual wallet. Thanks
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
April 05, 2018, 09:26:43 PM
 #166

it's a lot of explaining if you are on such level.
maye you have someone around who could help you with it.
it's pretty straight forward when you know basics about unix shell. or even DOS, for the matter.


I can only guess what's wrong.
Try
Code:
chmod +x wallet

and then
Code:
./wallet -h

make sure to first change dir (cd) to the folder where the wallet file is

but if you don't know what cd is, that's going to be a problem 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
devads
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
April 06, 2018, 08:41:00 AM
 #167

lol I do know what cd is  Wink

I guess I don't have much linux experience, I have cd'd onto the desktop (where the wallet is) I ran chmod +x wallet and it didn't print anything. I then ran ./wallet -h and it printed illegal instruction.

Thanks again for all help here would really like to get this working
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
April 06, 2018, 08:52:48 AM
 #168

I then ran ./wallet -h and it printed illegal instruction.
Well, then you did not build it for arm architecture

Try this one: http://gocoin.pl/devads/gocoin-wallet-1.9.4-arm.tar.gz

Just to see if it works.

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
devads
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
April 06, 2018, 02:26:14 PM
 #169

Thanks for that.

I just tried the command chmod +x wallet and it printed changing permissions of wallet: Operation not pertmitted however when I tried ./wallet -h I did get a list of commands.

I tried to run wallet -l to see if I could export a public address but it printed wallet: command not found.

Should I try and make the wallet again from my mac with the environment variables to get this working?

Thanks again
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
April 06, 2018, 03:32:05 PM
 #170

I tried to run wallet -l to see if I could export a public address but it printed wallet: command not found.
Because you should be doing "./wallet -l"


Should I try and make the wallet again from my mac with the environment variables to get this working?
sure

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
devads
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
April 06, 2018, 03:49:57 PM
 #171

Sorry again if this is a basic question but what is the best way of running a go build in the wallet folder with environment variables on mac? Is this done in the command line?
Thanks
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
April 06, 2018, 03:53:15 PM
 #172

I really don't know, never had a mac.

But I imagine it has bash shell, in which case it should work if you just "cd" to the "gocoin/wallet" folder and execute there:
Code:
GOOS=linux GOARCH=arm go build

otherwise:
Code:
export GOOS=linux
export GOARCH=arm
go build

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
devads
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
April 06, 2018, 04:19:16 PM
 #173

So I ran GOOS=linux GOARCH= arm go build and it built a wallet.

I put it on the pi and all the commands are saying illegal instruction. I then tried export GOOS=linux export GOARCH=arm go build and it didn't build anything. Sorry this is such a pain, thanks again
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
April 06, 2018, 04:22:17 PM
 #174

Sorry, I don't know.

As I said, I don't have a mac, so maybe just ask someone who does.

Otherwise, use the binary I gave you - if it prints the help, everything else should also work.

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
nhaquethamvong
Newbie
*
Offline Offline

Activity: 73
Merit: 0


View Profile
April 30, 2018, 07:11:30 AM
 #175


 
Show them your work. Maybe you can get a consultancy gig.
lokiverloren
Newbie
*
Offline Offline

Activity: 85
Merit: 0


View Profile
May 13, 2018, 07:49:10 PM
 #176

Firstly, I just want to say, what a beautiful piece of software you have made Piotr! I never heard about it and I had already looked at btcd and as soon as I saw yours running I wanted no more of btcd.

I am forking the code quite heavily, a bit more than a regular altcoin fork, the reward formula will be based on exponential decay, and because of this also I can eliminate transaction fees, but I have to massively increase the precision of the coin denomination (I think it will have 12 whole number places and 64 decimals) and I am switching out siphash for highwayhash, and secp256k1 for ed25519 and a block time of 1 minute and bigger blocks.

I noticed that the code makes golint put a lot of squiggly green lines on my VScode editor display, I suppose Go's idiom has changed significantly since 2013. I will be reworking a lot of the code, but compared to working with regular C++ based cryptocurrency nodes your code is a pleasure to read, and the web interface is beautiful, and so informative. I will be watching the repository for when you complete segwit multisig, and probably it will be a month or two before I am testing it. I will also probably add a gRPC interface to it to make it easier to plug into other applications also.

I am quite sure that it will be greatly changed compared to the original but you will be most welcome to use any changes or additions I make outside of the core protocol parts. I think the web interface could be expanded to the point where it is as feature laden as bitcoin-qt, at  option, with a nice Angular/Material skin on it.

In case you are concerned about my intended use, it will not be for a business, but rather as a base token for a larger protocol based on the SporeDB BFT database replication protocol, including a DEX, forum, chat system, git repository and hopefully from there it becomes a way for programmers to get paid without having really a boss (using a reputation system and rewards distribution similar to Steem). I thought it would be a nice, and fair way, to make it open yet provide enough possible money available for developing my larger project further. I am changing the proof of work algorithm also, and I have mostly designed the underlying sort/search protocol for a variant of Cuckoo Cycle, that massively exploits data cache locality and memory block alignment which potentially could mean not much possible improvement compared to a CPU because of cache memory being a very large component of the cost of production of processors. So hopefully it will be a coin that people can mine without sudden increases in network hashrate as recently happened to Sia, Monero and all the equihash coins.

Anyway, very nice work, and I wish more programmers wrote code like you, it would make the cryptocurrency space so much more vibrant.

You may have already noticed, if github tells you when someone has forked your repository, but this is what I have done so far, though I have been busy with other work for a few days and haven't finished yet writing the ultra precision math library that will be needed for my changes, hopefully tomorrow I can start again. https://github.com/calibrae-project/spawn
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
May 14, 2018, 08:32:56 AM
Last edit: May 14, 2018, 08:51:52 AM by piotr_n
 #177

No worries - I'm rather an anarchist and I think that "intellectual property" is a scam invented by corporation to monopolise their profits.
You don't need to have moral issues and I'm not going to sue you for changing my code and making a few bucks on it.
The non-for-business-use license is solely there to prevent big IT corporations from taking my work, repackaging and reselling it to big financial corporations for billions while leaving me no credit.

I'm glad you found my work helpful and good luck with your project.

p.s.
The repo has 103 forks - I wouldn't have time to follow them 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
lokiverloren
Newbie
*
Offline Offline

Activity: 85
Merit: 0


View Profile
May 15, 2018, 03:21:25 AM
 #178

Wow, 103 forks! Yeah, as a golang fiend your code was a breath of fresh air after so much tangled C++.

If there is money for the project my fork is building up from this base with, I will definitely contact you if you would be interested in helping maintain and expand the codebase of the fork and pay you for it, I am very impressed.

I have been studying the situation with proof of work and ASICs intensively lately and it's my opinion the problem is simply that nobody has been writing puzzles that require the strengths of CPU or GPU processors. The PoW for the fork of Gocoin will be one that is designed to require strong database processing capabilities, which is exactly what a CPU is good for (lists and trees). Also I am precisely following an issuance model that mimics precious metals.

Oh and yes, there will never be any registered Calibrae corporation. People will probably need to for setting up liquidity pools for the distributed exchange but that is peripheral and for this my project is intended to be a protocol for doing business, not a business in itself.
Kazimir
Legendary
*
Offline Offline

Activity: 1176
Merit: 1011



View Profile
May 30, 2018, 09:21:10 PM
 #179

I have been running GoCoin for a while but I my server has been down for a few weeks. Now I'm restarting everything, but GoCoin says:

Quote
Database corrupt - missing file: ~/.bitcoin/gocoin/btcnet/peers3/8c14fbfe.dat

I haven't changed anything or deleted any files whatsoever. I already updated to the lastest revision (head) from github but still the same problem.

Is there anything I can do? Can I tell GoCoin to just re-download that particular file, whatever it may be? I assume it's something from the blockchain so it should be able to get that data from the network?

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: 2055
Merit: 1359


aka tonikt


View Profile WWW
May 31, 2018, 08:33:36 AM
 #180

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.

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!