- A remote wallet for Filecoin and supports JsonRPC2.0 call.
- The project is decoupled from Lotus and Venus independently, and can be called by different implementations of Filecoin.
- It can dynamically configure strategy to limit the signature rules of the Wallet group.
- Through the configuration of signature strategy, it can achieve environmental isolation of different wallet groups
Use Venus Issues for reporting issues about this repository.
export CGO_CFLAGS_ALLOW="-D__BLST_PORTABLE__"
export CGO_CFLAGS="-D__BLST_PORTABLE__"
make
- If the test or target application crashes with an "illegal instruction" exception [after copying to an older system], rebuild with
CGO_CFLAGS
environment variable set to-O -D__BLST_PORTABLE__
. Don't forget-O
!
# start daemon
$ ./venus-wallet run
# set password to protect wallet security (Used for AES encryption, private key, root token seed)
$ ./venus-wallet set-password
Password:******
Enter Password again:******
JWT Token restricts access to RPC interface calls
# --perm
# "read","write","sign","admin"
./venus-wallet auth api-info --perm admin
- Strategy token restricts the authority of business execution
- How to generate strategy token for remote service Venus wallet cli
- URL append strategy token
<JWT token>:/ip4/0.0.0.0/tcp/5678/http:<Strategy token>
Once we have a connection string, we can connect to the remote wallet through it.
[API]
ListenAddress = "/ip4/0.0.0.0/tcp/5678/http"
[DB]
Conn = "[homePath]/keystore.sqlit"
Type = "sqlite"
DebugMode = true
[Factor]
# aes variable
ScryptN = 262144
ScryptP = 1
[JWT]
# hex JWT token, generate by secret
Token = ""
# hex JWT secret, randam generate first init
Secret = ""
+-- api // RPC service interface permission setting
|
+-- build // dependency injection
|
+-- cli // shell cmd
|
+-- cmd // service startup entry
|
+-- config // config provider
|
+-- core // constant
|
+-- crypto // private key
|
+-- filemgr // local file manager, Ps:config,database
|
+-- log // log set
|
+-- middeleware // middleware such as link tracking, data reporting
|
+-- signature // signature verification
|
+-- sotrage // the wallet keystore implementation
|
+-- version // git version by ldflags