ttcoinofficial / stratum Goto Github PK
View Code? Open in Web Editor NEWThis project forked from slush0/stratum
Stratum server implementation using Python Twisted
License: Other
This project forked from slush0/stratum
Stratum server implementation using Python Twisted
License: Other
Description: ============ This is implementation of Stratum protocol for server and client side using asynchronous networking written in Python Twisted. Homepage: http://stratum.bitcoin.cz Contact to main developer: ========================== Email info at bitcoin.cz Nickname slush at bitcointalk.org forum Installation ============ Requirements: python 2.6 or 2.7 linux-based system (should work on Mac OS too, not tested) Following instructions will work on Ubuntu & Debian*: a) From GIT, for developers git clone git://github.com/slush0/stratum.git sudo apt-get install python-dev sudo python setup.py develop b) From package, permanent install for production use sudo apt-get install python-dev sudo apt-get install python-setuptools sudo easy_install stratum *) Debian don't have a 'sudo' command, please do the installation process as a root user. Remove the distribute_setup.py and edit setup.py to remove these lines. From -from distribute_setup import use_setuptools -use_setuptools() -py_modules=['distribute_setup',], Then run this to make sure that distribute is up-to-date. pip install --upgrade distribute Then try installing again with. sudo python setup.py install The process is full of errors and a lot of them are not very obvious. Top tip, enable the stratum.log while setting up stratum-mining, it will help. https://github.com/slush0/stratum-mining/blob/master/conf/config_sample.py#L15 git clone https://github.com/ttcoinofficial/litecoin_scrypt.git git clone https://github.com/ttcoinofficial/stratum-mining.git git clone https://github.com/ttcoinofficial/stratum.git cd ~/stratum-mining git submodule init git submodule update cd ~/litecoin_scrypt sudo python setup.py install cd ~/stratum sudo python setup.py install Configuration ============= a) Basic configuration Copy config_default.py to config.py Edit at least those values: HOSTNAME, BITCOIN_TRUSTED_* b) Message signatures For enabling message signatures, generate server's ECDSA key by python signature.py > signing_key.pem and fill correct values to SIGNING_KEY and SIGNING_ID (config.py) c) Creating keys for SSL-based transports For all SSL-based transports (HTTPS, WSS, ...) you'll need private key and certificate file. You can use certificates from any authority or you can generate self-signed certificates, which is helpful at least for testing. Following script will generate self-signed SSL certificate: #!/bin/bash openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -in server.csr -signkey server.key -out server.crt Then you have to fill SSL_PRIVKEY and SSL_CACERT in config file with values 'server.key' and 'server.crt'. Startup ======= Start devel server: twistd -ny launcher.tac Devel server *without* lowlevel messages of Twisted: twistd -ny launcher.tac -l log/twistd.log Running in production ===================== TODO: Guide for running twistd as a daemon, init scripts TODO: Loadbalancing and port redirecting using haproxy TODO: Tunelling on 80/443 using stunnel Any volunteer for this ^ ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.