https://github.com/xdagger/goxdagwallet
cross platform xdag gui wallet
https://github.com/xdagger/goxdagwallet
cross-platform fyne golang gui wallet xdag
Last synced: 6 months ago
JSON representation
cross platform xdag gui wallet
- Host: GitHub
- URL: https://github.com/xdagger/goxdagwallet
- Owner: XDagger
- License: mit
- Created: 2021-06-28T02:52:44.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T02:36:35.000Z (7 months ago)
- Last Synced: 2025-04-05T19:34:20.327Z (6 months ago)
- Topics: cross-platform, fyne, golang, gui, wallet, xdag
- Language: Go
- Homepage:
- Size: 22.9 MB
- Stars: 14
- Watchers: 2
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cross Platform XDAG GUI Wallet
This is a cross-platform XDAG GUI wallet, especially for macOS and Linux, powered by [fyne](https://github.com/fyne-io/fyne).
Fyne is a cross-platform GUI in Go inspired by Material Design.
The wallet can run on Windows, Linux, Mac now.
Mobile version is coming.
## usage
- usage: by command-line parameter -help
- 3 run modes: gui(default), cli, server, by commnad-line parameter -mode
- cli commands:
- help -- display commands list
- exit -- exit cli wallet
- account -- display address of wallet account
- balance -- display balance of wallet account
- xfer V A R -- transfer V coins to address A with remark R
- mnemonic -- display mnemonic of wallet account
- export P -- export mnemonic to file P
- jsonrpc server: by command-line parameter -mode server -ip \ -port \
- method: Xdag.Unlock
- params: ["\"]
- response: {"id":1,"result":"success","error":null}
- method: Xdag.Lock
- params: ["\"]
- response: {"id":1,"result":"success","error":null}
- method: Xdag.Account
- params: [""]
- response: {"id":1,"result": "\","error":null}
- method: Xdag.Balance
- params: [""]
- response: {"id":1,"result": "\","error":null}
- method: Xdag.Balance
- params: ["\"]
- response: {"id":1,"result": "\","error":null}
- method: Xdag.Transfer
- params: [{"amount":"\","address":"\","remark":"\"}]
- response: {"id":1,"result": {"Status":"success","TxHash":"\"},"error":null}## repo structure
- clib - a wrapper of XDAG Wallet C library
- xDagWallet - XDAG wallet C library
- wallet - golang XDAG wallet app
- i18n - international strings
- data - i18n config json, fonts
- images - image and icon bundled in components/resource.go
- component - ui of wallet window
- config - wallet config
- wallet_state - wallet state
- xlog - wallet log
- xdago - bip32,bip39,bip44
- cli - command line mode
- server - rpc server mode## prepare
### Windows
install MSYS2
build secp256k1 from source in MSYS2
`github.com/bitcoin-core/secp256k1.git`
`$ pacman -S openssl`
### Linux and Mac
need install secp256k1 and openssl first
- Ubuntu and Debian:
`$ sudo apt-get install libsecp256k1-dev openssl libssl-dev`
- Fedora and Centos:
`$ sudo yum install openssl openssl-devel`
download and build from source
`github.com/bitcoin-core/secp256k1.git`
- Manjaro and Arch linux:
`$ sudo pacman -S libsecp256k1 openssl`
- Mac
`$ brew install openssl`
`$ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile`
`$ source ~/.bash_profile`
build secp256k1 from source
`github.com/bitcoin-core/secp256k1.git`
if library not found , go to /wallet/components/wallet_cgo.go
change the library path in code:
`//#cgo darwin LDFLAGS: ....`
## build
enter /clibbuild runtime library with CMakeLists.txt
need MingW64 in Windows
enter /wallet
`$ go mod tidy`
`$ CGO_ENABLED=1 go build`
in Windows
`> CGO_ENABLED=1 go build -ldflags -H=windowsgui`
## deployment
enter /walletcopy goXdagWallet(.exe), wallet-config.json and data folder to your deployment path.
### Windows
also need copy libcrypto-1_1-x64.dll and libwinpthread-1.dll in MingW64's bin path to deployment path.
## features
- frequently transferred addresses list
- history query filter and pagination