Nigels new Blockchain.
TOR: yes, Blockchain: yes, Uber super anonymity so the fuzz can never find you laundering your filtyh milions with only a small kickback service fee - No. This runs on TOR simply because I want to run a public service on a Raspberry PI in my Lair without having to pay hosting charges. Someday I'll be able to afford google cloud hosting with full scalabiltiy, but at nearly £50 a month just to host a testing server with a miner, this is not practical.
Right, on with the show.
MinerTOR is a ground up implementation of a secure centralised block chain, supporting a crypto currency and some useful stuff in the chain (to be developed later - maybe NFT, maybe research data, don't know yet). I was originally inspired in part by Duino-Coin, and I have also tried to build on some of the more mainstream ideas from Bitcoin and other 'regular' Blockchains. In summary this is the direction I am hoping to take:
- Secure by design web portal for account management;
- Periodic proof of life checks to ensure users still exist;
- Automatic sideways load scaling that grows with the project;
- Light-weight miner API and mining process;
- If it's got a microcontroller on it, it should be able to mine;
- Dual layer 'value' - ledgering blockchain and mining, but then something else as well;
- Having some real dollar value/liquidity by 2026 (a 5 year plan).
On that last point, please feel free to donate and help keep the lights on.
I also want to flatten the miner curve. In Bitcoin, Etherium etc, it's a race... the bigger your rig, the faster you can process stuff, the richer you get, and then the harder it is for everyone else to even get in the door. If you play nicely here, we're all friends and everyone benefits. If you violate the rules or try and scam the system, the centralised overlord will ignore you at best, or drive a karma bus at you: either way you'll be wasting your own energy.
There are no claims of enviornmental friendliness, or favouring lower power devices - everyone can play. If you have a low power device that can process the work, then the rewards may be, relatively speaking, higher. Since there is no real money here, there will never be any 'profit'.
This project deals specifically with the centralised services. Mining will be a separate project coming along once the server stuff is stable.
This project is built with the Google App Engine platform in mind. The main idea here is that you pay for what you use, so you're not wasting resource paying for servers that are only 30% loaded. If you do have a spike or grow a lot, Google can throw more resource at things for you while you sleep. I appreciate there are huge caveats here. But this is a journey. while it is running on a Raspberry pi in my Lair, it does also scale up to, and run on Google App Engine.
- Bootstrap v5.1
- Boostrap Icons 1.5
- AngularJS v1.8
- HighlightJS
- Google App Engine for PHP 7
- Google DataStore
- Google FileStore
- Google RECAPTCHA v3
- Slim Dispatch Handler v4
- PHPMailer
- PHP Markdown
- PHP Recaptcha
- PHP Google DataStore API
- PHP Cloud Store API
- PHP Eliptic Curve Cryptography
- JS QR code Generator
You shouldn't need to do this on the PI cuz it's setup in the crontab. This is for the install on the Mac.
- Start 3 terminal windows
- Goto the main code directory in all terminals
cd ~/git/minertor
- In the first window, start the test server for the web service
php -S localhost:8080 -t www www/index.php
- In the second window start a test server for the API service
php -S localhost:8085 -t api api/index.php
- In the third window, start the test server for the cron handler
php -S localhost:8090 -t cron cron/index.php
- MinerTOR github code
- MinerTOR on the web
- MinerTOR on the lan
- MinerTOR on the localhost
- Data store on GAE
- ReCAPTCHA details
- Part 1 - Create Blockchain
- Part 2 - Proof of Work
- Part 3 - Mining rewards
- Part 4 - Signing transactions
##Things I did
- Setup an app password for the gmail account.
- Follow the RECAPTCHA integration documentation.
- The service account needs to be made an owner in it's role under IAM.
Created a key for the service account on the project. It downloaded a JSON file, wihch I saved as service-account.jsonLaunch local for php72:dev_appserver.py app.yaml --php_executable_path /usr/bin/php --support_datastore_emulator=true
optionally, well done one, install the local datastore emulator withgcloud components install cloud-datastore-emulator
Start the local data storegcloud beta emulators datastore start
Install php 7.4 On a Mac:
- brew install php@7.4
- brew link php@7.4
- (also does this any way - brew install gmp)