The purpose of multisig wallets is to increase security by requiring multiple parties to agree on transactions before execution. Transactions can be executed only when confirmed by a predefined number of owners. A web user interface can be found here.
NOTE: Not compatible with current NodeJS LTS. Recommended NodeJS version is v8.16.0
- Can hold TRX and all kind of tokens with multisig support
- Easy to use offline signing (cold wallet) support
- Integration with tronlink
- Transaction data and log decoding, makes transactions more readable
- Interacting with any contracts with UI support
# For Ubuntu/Debian you need to install libusb development headers
apt install -y libusb-1.0-0-dev
git clone https://github.com/zkBob/TronMultisigWallet.git
cd TronMultisigWallet
git checkout develop
# Latest NodeJS (v12.13.0) does NOT appear to work correctly.
# You should use NVM and install Node v6.17.1 for best results: https://github.com/nvm-sh/nvm
# Tested by @Privex on 2019-Nov-06 with v6.17.1 with success
nvm install v6.17.1
# node-gyp is required for 'npm install' to work correctly
npm install node-gyp
npm install
docker build . -t main
docker run -p 5000:5000 main
If you want to recompile contracts, you should get bytecode from the https://github.com/zkBob/TronMultisigContract which is presented as a submodule and paste needed bytecode to https://github.com/zkBob/TronMultisigWallet/blob/develop/dapp/src/abi.js
npm test
npm run test-dapp
This implementation does not allow the creation of smart contracts via multisignature transactions. Transactions to address 0 cannot be done. Any other transaction can be done.
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.