Skip to content

QuantumMechanics/XEMpay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XEMpay

Automated multisignature initiator for XEM Cryptocurrency

Features

  • Password encrypted configuration (aes-128-ecb)
  • Batch transactions with limiter
  • Multisig account balance watcher
  • Timer
  • Max amount per tx, program stops if amount exceeded (meaning something goes wrong)
  • Max dayli amount
  • Transaction details
  • MySQL support

How to

You must have a local NCC running connected to a local or remote NIS.
If you want it to be as light as possible, you can use a local NCC to sign the multisig transactions and a remote NIS to propagate them. The cosignatory account needs to be in a wallet that belongs to your local NCC.

To connect your NCC to a remote NIS:
-Run the NCC only
-In settings choose Remote Server and enter the Host (you can choose an host here)
-Save. Now you can close your browser and let the NCC run in background.

You need NodeJs.
Be sure you have NEM.js from nodejs2nem inside your folder.

XEMpay is the transaction initiator. It's the first cosignatory who ask for XEMsign signatures. XEMpay pull addresses meeting requirements from MySQL database and initiate batch signatures requests.

You need to insert correct informations inside SENDaccess.json:
All addresses must be in the "NAMOAVHFVPJ6FP32YP2GCM64WSRMKXA5KKYWWHPY" format. NO "-".

  • Database connection parameters
  • Wallet & transaction parameters (Warning, for "amount", "fee" and "multisigFee" only, values are in the smallest possible NEM fraction, that means that 1000000 means 1.000000 NEM).
  • timer: Number of minutes between each pull, set by default to 5.
  • dayliTimer: Timer before dayliAmount reset to 0 in minutes
  • maxAmount: Maximal XEM amount per tx, in case of a bigger transaction, the program stop.
  • maxDayliAmount: Maximal amount per days.

Inside XEMpay.js, on line 142 & 223, you need to set db query accordignly to your table name and column name.
Query on line 142 select all balances with the amount set in SENDaccess.
Query on line 223 update all balances & reset them to 0 after transaction process.

Next, Run XEMpay.js using:

nodejs pathTo/XEMpay.js

Then follow instructions.

Not working ?

Normally it should work out of the box. If not, you need to check:

  • If NEM.js is present in your folder
  • If you have deleted SENDaccess.json after encryption.

If still not working, you need to install Express, Secure-conf and MySQL:

  • Express: npm install express
  • Secure-conf: npm install secure-conf
  • Mysql: npm install mysql

Warning

As the wallet is exposed you shouldn't store any funds on it !

Work in progress

  • Fill SENDaccess.json with random datas and auto delete.
  • Remove useless code.
  • Add some hard coded rules in SENDaccess.json

BTC: 1BRuxYZ3ohDJkfEWKVMWAiYrAYjwNSaPJs
XEM: NAMOAV-HFVPJ6-FP32YP-2GCM64-WSRMKX-A5KKYW-WHPY

About

Automated multisignature initiator for XEM Cryptocurrency

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published