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.
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
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 it if you could put up a section in the
rosetta-cli README that provides this tip!