L3+ solo mining on a home network

stratum uses your external ip address to accept incoming connections…if you want a local network proxy server then use cgminer as a proxy server or bfgminer as one

P2pool is not true solo…it is connecting you to your peers pools and paying you out every time a block is found…
if you were truely mining solo you would only get paid 25 LTC everytime a block is found…period

I tried this and failed
http://cryptomining-blog.com/754-do-you-need-a-local-stratum-mining-proxy-server/
Could not see where i was going wrong?

stratum uses your external ip address to accept incoming connections…if you want a local network proxy server then use cgminer as a proxy server or bfgminer as one
you can also go to slushpool or litecoinpool and download their stratum miner and make the batch file however you want…REMEMBER THIS WILL ONLY WORK FOR OUTGOING CONNECTIONS NOT LOCAL

unless you can figure out a way to use “coinbase address” command with it to get paid for each block you find you cannot mine solo with a stratum proxy

Im not sure why im being ignored here.

Stratum is a protocol that a coin client, unless modified, does not understand.

@bakd247 given your networking skills you should understand this example code:

        import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("altcoin.client.at.127.0.0.1", 3333))

sock.send("""{"id": 1, "method": "mining.subscribe", "params": []}\n""")
print sock.recv(4000)

sock.send("""{"params": ["kens_1", "password"], "id": 2, "method": "mining.authorize"}\n""")
print sock.recv(4000)

Notice the commands its sending? Those are part of the stratum protocol i’m talking about. The coin client does not understand these. The majority of coin clients out there, still only understands getblocktemplate, getwork which look something like this:

{"id": 0, "method": "getblocktemplate", "params": [{"capabilities": ["coinbasetxn", "workid", "coinbase/append"]}]}

The l3+ and the Knc for example are always sending the first example i gave “Stratum” Asking a coin client those will not work. I might try and find the bitcoin wizards chat room today and see if i can get answer on how we convert backwards instead of what slush made which was getblocktemplate (from old bitcoin miners) to stratum. We don’t need that as our miners are sending stratum commands not getblocktemplate getwork commands. (stankonia please read what i’m saying and try and understand it. The link you went to before and the software they used is slushs proxy and its turning getwork into stratum. You/we want the opposite. Thats why it dosn’t work.)

I didn’t quite make it to talk with the bitcoin wizards before i remembered a project that isnt being updated anymore, CoiniumServ. I remembered it worked on windows. I went to their git at github and they removed all their binaries but i managed to build a .exe that works on windows by using visual studio. I’ve built it and configured it and it works just fine and its solo mining blocks just how i want it to using my l3+ and titans.

If you want some help then let me know or i can even just package what i have and you can run it yourself. Feel free to ask me about how to configure it as i have extensive knowledge on how to set it up. It will work on any coin you chose to use your l3+ but you need to just know how to make a pool config which is simple but needs doing all the same.

Here is the info on how to build it

You dont need git, just download the zip from:
https://github.com/bonesoul/CoiniumServ/archive/develop.zip

Visual studio is easy to setup, just click through for a standard install and then when you go to build it will tell you the changes you need. Then download them and try to build again.

Make sure you note that the column on the right in the guides picture. They are highlighting “Program.cs” you must have it highlighted also. Not doing so will result in a failed build. I don’t believe pressing F6 in VS works anymore so just go to the build tab up top and click build.

Again, feel free to ask any questions you like to get it done. Alternatively, as i said, i can upload what i built and it should just work on your desktop.

1 Like

yes that code is there…but your apparently not reading it correctly
all mining is solo of some kind…even pools use a solo wallet and then use stratum to accept incoming connections to the external ip address…this does not works for local “intranet” devices…only external as in other usernames and passwords…

Do you not know what a “demarcation point” is?

got to litecoinpool or slushpool…when you download that and run it …it connects to their external ip address…
it is only used to connect multiple miners to a single external ip …
not for local networks to mine to using internal ip addressing

the only way to get it to work is to install the client side of the stratum proxy server on to the miner.l…and the host side on the side with the wallet/node…then you still have to use 2 routers to connect the two using external ip addressing…unless you can figure out some way to get it to work with DHCP…

@bakd247
In my opinion, you are incorrect and WAY off.

I really think you are confusing your knowledge and this software up. It just does not work the way you think it does in your head.

The server code i pointed to is getwork under the hood, it just allows us to point asic miners at it and it understands that and translates it before talking to the wallet node. I currently have over 30 miners pointed at that one windows box running that one CoiniumServ code on a lan network. It solves the issue of converting stratum sent messages from the miners to getwork that the wallet understands to effectively solo mine! Its lightwight, simple to setup and i could walk a 10yo through it. Whats the problem here. its a simple solution for windows in a home network, everyone should be cheering!

I really dont know what you’re on about but ill explain something to you.
Please read it this time!

In a simplified manner, Stratum is a line-based protocol using plain TCP socket, with payload encoded as JSON-RPC messages. That’s all. Client simply opens TCP socket and writes requests to the server in the form of JSON messages finished by the newline character \n. Every line received by the client is again a valid JSON-RPC fragment containing the response.

Slush didn’t make a proxy that would work by converting stratum to getwork, he made it to work the other way around. Thus we need to use his stratum server code to achieve what we want. Job Done!

REFS:

1 Like

This thread has lost my interest…

1 Like

With quotes like that i think its not the end of the world that you lost interest in sending poor miners on a wild goose chase.

For those that come across this thread and need help then there is one solution i posted here. Pm me anytime and i will gladly help.

1 Like

I was trying to help someone without knowing what they are using or scripts they are typing…I was trying to help someone by offing advice on what they could try…

…he already knew I dont have the same equipment he does…

looks to me like I have given the most usable advice on this thread so far

I really dont give a ■■■■ what you think anyways

I mine solo with bfgminer proxy server with no issues at all so you can kiss my ass sir!!!

I said earlier that i also appreciate your willingness to help however, i think i’m within my right to also state that i encourage you to re-think what “help” is sometimes. Take that how you will. Im only going off your post history.

Don’t let this set you back in regards to helping people though. Its not my intent to stifle that willingness. I encourage you to try to stick to what you know. For your information, since “anyway” is an adverb, it is impossible for adverbs to be plural.

You may solo mine with bfgminer proxy however, its not on a l3+.


Link to a solution: L3+ solo mining on a home network - #36 by Trix

1 Like

Well, I tried that as well, but I guess I was being a bit to obtuse in my reference to -coinbase-addr, which is to say that neither that nor --coinbase-addr is an acceptable argument in the current version of bfgminer. So I did attempt the code above without the -coinbase-addr (altcoinaddress), and after starting, it came back a few seconds later telling me that either the url, user, or password was invalid. I double, triple, etc checked, and tried a couple other things with no go.

I wasn’t ignoring you, it was just that you were not posting any code that I could try to get my L3+ to solo mine a Scrypt altcoin with, whereas bakd247 was. That being said, it looks like you now have a working solo mining operation on a Windows Box with the L3+, so I’d like to see if I can get what you’ve got working on my windows box.

I downloaded the zip file you linked to. I also downloaded the community version of Visual studio, and installed it. Now I am stuck, since I don’t actually know how to get from the download of those files to “Make sure you note that the column on the right in the guides picture, etc”.

I have never worked with Visual studio, and didn’t see any obvious file I should be clicking on in the CoiniumServ unzipped folder that would allow me to compile it.

Do I need to open Visual studio, and click on a build tab up top and click build, what happens then, which file in the CoiniumServ folder to I point to that I want to build??

Funny, I figured I’d do a quick search to see if I couldn’t figure out how to compile CoiniumServ, as it is probably a common question, and I stumbled upon bonesoul/CoiniumServ. And while reading through it, I figured I should look back to see what you were saying, when I noticed that you linked to the same how to build CoiniumServ article.

So based on that, I’m going to assume that I am to build it in release mode?

Assuming I am able to build it, which seems fairly straightforward based on the how to guide, the next question would be, “how to make a pool config”?

And once the pool config is done, how do I start my altcoin wallet (do I need to start it in server mode, etc). And where do I direct my L3+, I assume I direct it to the computer running CoiniumServ and the altcoin Wallet? Do I need to input the coin address in the L3+ user spot?

This is all in the wiki in the link i posted when i gave the solution the first time
click here:

Building

Once you got the sources, you can compile on Windows using Visual Studio. First navigate to sources folder and open the CoiniumServ.sln in build\ folder.

Set build mode to either Debug or Release though you are advised to use Release mode for production environments. Use the Build ~ Build Solution (F6) menu to start compiling the sources.

You can find the executables in either bin\Release or bin\Debug folder (based on the mode you selected).

Then you have to configure the server to get it working.

The answers are all in their wiki but if you want me to quickly run you through it all (im quite willing to do it) then please come to the discord server i linked you in private message on this forum, thanks.

–generate-to (address is the argument for the newest version of bfgminer…my bad I still use an older version

there is a list of the commands at the bottom of this page:GitHub - luke-jr/bfgminer: Modular ASIC/FPGA miner written in C, featuring overclocking, monitoring, fan speed control and remote interface capabilities.

you can also start bfgminer like this from command prompt to see all available arguments and options:
bfgminer --help

seems like you need to change a lot for bfgminer to work for you

–api-allow Allow API access (if enabled) only to the given list of [W:]IP[/Prefix] address[/subnets]
This overrides --api-network and you must specify 127.0.0.1 if it is required
W: in front of the IP address gives that address privileged access to all api commands
–api-description Description placed in the API status header (default: BFGMiner version)
–api-groups API one letter groups G:cmd:cmd[,P:cmd:*…]
See README.RPC for usage
–api-listen Listen for API requests (default: disabled)
By default any command that does not just display data returns access denied
See --api-allow to overcome this
–api-mcast Enable API Multicast listener, default: disabled

Username Trix claims you can mine solo by setting up Chromium as a proxy server using java code too

Save yourself the trouble.

"SOLO MINING

BFGMiner supports solo mining with any GBT-compatible bitcoin node (such as
bitcoind). To use this mode, you need to specify the URL of your bitcoind node
using the usual pool options (–url, --userpass, etc), and the --generate-to
option to specify the Bitcoin address you wish to receive the block rewards
mined. When you run Bitcoin Core on the same computer as your miner, the pool
itself will be automatically configured for you (on the default goal). Please be
aware that solo mining via GBT is at this time only supported for Bitcoin."

I’m really starting to hate this now but you have it so mixed up. Please stop, save yourself the trouble.

I am replying to someone who is asking for my help…not you you "trix"
why dont you try creating a “new post” or sending someone else a message…