How to develop rosetta-cli

How are people developing rosetta-sdk-go and rosetta-cli? I would like to make some changes to rosetta-sdk-go and rosetta-cli. I would be interested in hearing what others have done to accomplish this.

Follow up:

I have forked both repos and I have tried building rosetta-cli from source but I get this error

Checking for required docker image karalabe/xgo-go-1.15.5... not found!
Pulling karalabe/xgo-go-1.15.5 from docker registry...
Using default tag: latest
Error response from daemon: pull access denied for karalabe/xgo-go-1.15.5, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
2020/12/18 16:18:54 Failed to pull docker image from the registry: exit status 1.
mv: rename bin/rosetta-cli-master-darwin-10.6-amd64 to bin/rosetta-cli-master-darwin-amd64: No such file or directory
mv: rename bin/rosetta-cli-master-windows-4.0-amd64.exe to bin/rosetta-cli-master-windows-amd64: No such file or directory
./scripts/compile.sh: line 26: cd: bin: No such file or directory
make: *** [compile] Error 1

Are you running make compile? We only run this when building releases to cross-compile across all targets.

The best way to build/install locally is just to run make build (creates a rosetta-cli binary in the directory you ran command) or make install (installs on bin path).

Ok, thank you, now I understand. I am still confused about how I should go about developing this locally. I have forked both rosetta-cli and rossetta-sdk-go but when I try to change all the imports from github.com/coinbase/rosetta-sdk-go to github.com/smeyerhot/rosetta-sdk-go I get this error.

module declares its path as: github.com/coinbase/rosetta-sdk-go
	        but was required as: github.com/smeyerhot/rosetta-sdk-go

It seems like golang is caching older versions and rejecting the updates. It seems that my approach is not the way to go. What would you recommend in terms of making changes to forks and developing locally?

So I figured out an approach. I cloned both of my forks to ~/go/src/github.com/coinbase - locally. Then I added this line to the bottom of the rosetta-cli go.mod file : replace "github.com/coinbase/rosetta-sdk-go" v0.6.7 => "../rosetta-sdk-go"

Now, I can mess around with both repos locally and rebase updates on top. Hopefully, this will be helpful for someone.

Glad you were able to find this solution before I could respond. I would :heart: it if you could put up a section in the rosetta-cli README that provides this tip!