config.default.js to config.js, and fill it out with the appropriate details.npm install.ruby and the sass gem. Something like sudo apt-get install ruby and sudo gem install sass.grunt-cli globally using npm install grunt-cli --global. You may need to sudo that.grunt.scrypt directory and running make node.I've gotten a few questions about running the application. So here's some snippets that will hopefully help people get started.
node server.js. It's your basic run command.>> /tmp/file.log.& at the end of the command runs it in the background, so it won't be killed when you close your terminal window or SSH connection.NODE_PORT=9870.When you put them all together, you get what I use in my start script:
NODE_PORT=9870 NODE_ENV=production node server.js >> /tmp/server.log &
NODE_ENV modifies settings specified in Environments.NODE_PORT or PORT controls the port for HTTP requests. It will overwrite the setting in config.js. HTTPS is not yet supported.NODE_CLEANUP is the number of milliseconds between cleanup actions, which removes old shares from the database and performs the BGREWRITEAOF command.Express checks the NODE_ENV environment variable to know what features to turn on. I've configured two:
development serves files from the public directory. Logs requests to the console.production does not serve files. Turns on trust proxy. Turns on view cache. Does not log requests. I run it behind NGINX, which I have set up to serve the files from the public directory and log everything.This is a manual process right now, for a lot of reasons. You're welcome to automate it if you see fit though. Here's the basics of how it works. All of this goes on in the processing directory.
redis-cli.LRANGE withdraw 0 -1. You'll get something like this:1) "{\"email\":\"hello@example.com\",\"amount\":\"1\",\"address\":\"DM7BaRfSxUhvz8eJ9dHeChzEifJaP5poFL\"}"
2) "{\"email\":\"blank@example.com\",\"amount\":\"1\",\"address\":\"DM7BaRfSxUhvz8eJ9dHeChzEifJaP5poFL\"}"
data.txt file, and remove the line numbers and junk from the front. Like so:"{\"email\":\"hello@example.com\",\"amount\":\"1\",\"address\":\"DM7BaRfSxUhvz8eJ9dHeChzEifJaP5poFL\"}"
"{\"email\":\"blank@example.com\",\"amount\":\"1\",\"address\":\"DM7BaRfSxUhvz8eJ9dHeChzEifJaP5poFL\"}"
generate.js file. This will put the proper information into the output.json file, which will look like this since the above addresses are the same:{
"DM7BaRfSxUhvz8eJ9dHeChzEifJaP5poFL": 2.00000001
}
payout.js file has the line that actually makes the transaction commented out by default. I run it once to make sure the balance will cover the transaction. If it will, I uncomment it, and run it again. When the transaction is made, the transaction ID will be logged. Or an error, depending on what actually happened.LTRIM withdraw # -1, replacing the number sign with the number of records processed. In the above example, it would be 2. This makes sure you don't remove any withdrawal requests that were made since the LRANGE command, because that would be bad.PORT or NODE_PORT environment variables.$ claude mcp add idigdoge \
-- python -m otcore.mcp_server <graph>