New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stratum spec #37

Closed
sammy007 opened this Issue Oct 18, 2017 · 51 comments

Comments

Projects
None yet
@sammy007

sammy007 commented Oct 18, 2017

Since BTCGPU utilises equihash it's wise to follow zcash stratum spec, will make existing miners compatible. https://github.com/str4d/zips/blob/77-zip-stratum/drafts/str4d-stratum/draft1.rst

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 19, 2017

Contributor

Thanks, this will be done.

Contributor

martin-key commented Oct 19, 2017

Thanks, this will be done.

@oliverw

This comment has been minimized.

Show comment
Hide comment
@oliverw

oliverw Oct 19, 2017

So the plan is to make BTG a drop-in replacement for ZCash from a pool's/miner's point of view?

oliverw commented Oct 19, 2017

So the plan is to make BTG a drop-in replacement for ZCash from a pool's/miner's point of view?

@h4x3rotab

This comment has been minimized.

Show comment
Hide comment
@h4x3rotab

h4x3rotab Oct 19, 2017

Contributor

Confirmed. Existing stratum protocol works well with Bitcoin Gold block format. But some minor changes in pool software are still needed. More specifically, the pool must put the block height in the first 4 bytes of hashReserved field.

Anyone who can list popular pool softwares?

Contributor

h4x3rotab commented Oct 19, 2017

Confirmed. Existing stratum protocol works well with Bitcoin Gold block format. But some minor changes in pool software are still needed. More specifically, the pool must put the block height in the first 4 bytes of hashReserved field.

Anyone who can list popular pool softwares?

@oliverw

This comment has been minimized.

Show comment
Hide comment
@oliverw

oliverw Oct 19, 2017

Confirmed. Existing stratum protocol works well with Bitcoin Gold block format.

Should that read "existing ZCash stratum protocol"? The ZCash stratum differs quite a bit from the protocol used by the rest of the Bitcoin Heritage of coins.

oliverw commented Oct 19, 2017

Confirmed. Existing stratum protocol works well with Bitcoin Gold block format.

Should that read "existing ZCash stratum protocol"? The ZCash stratum differs quite a bit from the protocol used by the rest of the Bitcoin Heritage of coins.

@argos66

This comment has been minimized.

Show comment
Hide comment
@argos66

argos66 Oct 20, 2017

More specifically, the pool must put the block height in the first 4 bytes of hashReserved field.
Anyone who can list popular pool softwares?

I use z-nomp that use node-stratum-pool, this pool can be natively compatible ?

If you've made a modification on a pool can you share it ?

argos66 commented Oct 20, 2017

More specifically, the pool must put the block height in the first 4 bytes of hashReserved field.
Anyone who can list popular pool softwares?

I use z-nomp that use node-stratum-pool, this pool can be natively compatible ?

If you've made a modification on a pool can you share it ?

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 20, 2017

Contributor

I will share it with open-source license

Contributor

martin-key commented Oct 20, 2017

I will share it with open-source license

@argos66

This comment has been minimized.

Show comment
Hide comment
@argos66

argos66 Oct 20, 2017

thanks, I'm wait to discover this code and test for be ready when mainet opening.

argos66 commented Oct 20, 2017

thanks, I'm wait to discover this code and test for be ready when mainet opening.

@DaneAlex

This comment has been minimized.

Show comment
Hide comment
@DaneAlex

DaneAlex Oct 20, 2017

Will wait for this as well!

DaneAlex commented Oct 20, 2017

Will wait for this as well!

@egyptianbman

This comment has been minimized.

Show comment
Hide comment
@egyptianbman

egyptianbman Oct 22, 2017

Waiting as well. Also using z-nomp.

egyptianbman commented Oct 22, 2017

Waiting as well. Also using z-nomp.

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 23, 2017

@StarbuckBG you confirm that stratum is compatible with zcash?

No one actually interested if you will share something or not, I am independent dev and would like to write my own so I need a spec.

sammy007 commented Oct 23, 2017

@StarbuckBG you confirm that stratum is compatible with zcash?

No one actually interested if you will share something or not, I am independent dev and would like to write my own so I need a spec.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 23, 2017

Contributor
Contributor

martin-key commented Oct 23, 2017

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 23, 2017

You just take zcash stratum and go with it, no need for amateur solutions. Everyone will be thankful, I promise.

sammy007 commented Oct 23, 2017

You just take zcash stratum and go with it, no need for amateur solutions. Everyone will be thankful, I promise.

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 23, 2017

Hint: because you probably need existing mining software to work with BTCG.

sammy007 commented Oct 23, 2017

Hint: because you probably need existing mining software to work with BTCG.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 23, 2017

Contributor
Contributor

martin-key commented Oct 23, 2017

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 23, 2017

You are here to scam, you all are not capable to provide solutions. Do not lie to yourself.

sammy007 commented Oct 23, 2017

You are here to scam, you all are not capable to provide solutions. Do not lie to yourself.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 23, 2017

Contributor

The coin is on the market in few hours, the fork is tomorrow.
Lets see.
I cannot understand how you are one of the guys that I liked the work they have made and at the end you are just a spammer blaming us without actual facts, only on assumptions.
I wish you good luck with your projects and protocols. I hope one day you understand how wrong you are and that this is not good way to talk to other developers.

Contributor

martin-key commented Oct 23, 2017

The coin is on the market in few hours, the fork is tomorrow.
Lets see.
I cannot understand how you are one of the guys that I liked the work they have made and at the end you are just a spammer blaming us without actual facts, only on assumptions.
I wish you good luck with your projects and protocols. I hope one day you understand how wrong you are and that this is not good way to talk to other developers.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 23, 2017

Contributor

I want you to tell to all the team that is working more than 18 hours a day for the last week, that this is a scam. Tomorrow I will be in the Jimmy Song's show I would definitely have in mind the way you are behaving and that one of the persons that have made that much for the mining society is behaving that way. It is not cool (:

Contributor

martin-key commented Oct 23, 2017

I want you to tell to all the team that is working more than 18 hours a day for the last week, that this is a scam. Tomorrow I will be in the Jimmy Song's show I would definitely have in mind the way you are behaving and that one of the persons that have made that much for the mining society is behaving that way. It is not cool (:

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 23, 2017

You are disturbing 100 billion dollars market. I posted a few concerns, if addressed you can make it smooth for everyone, unfortunately you refuse to listen.

  • Make stratum 100% compatible with zcash so coin will inherit existing mining software and pool software.
  • Provide a testnet prior launch so if needed we all can make adjustments.

If you are not capable to provide a working testnet I have no idea what does "provide solutions" mean.
I really care not if this a money grab or just school project, but if you claim you are a professional you will address these issues.

I would join slack if it's possible, but I failed yesterday, link is kinda broken.

sammy007 commented Oct 23, 2017

You are disturbing 100 billion dollars market. I posted a few concerns, if addressed you can make it smooth for everyone, unfortunately you refuse to listen.

  • Make stratum 100% compatible with zcash so coin will inherit existing mining software and pool software.
  • Provide a testnet prior launch so if needed we all can make adjustments.

If you are not capable to provide a working testnet I have no idea what does "provide solutions" mean.
I really care not if this a money grab or just school project, but if you claim you are a professional you will address these issues.

I would join slack if it's possible, but I failed yesterday, link is kinda broken.

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 23, 2017

It's still a mistery for me how people are going to launch a bitcoin fork without providing code before launch. Normal launch = post mainnet code 5 minutes before launch so we all can set it up, but there is literally no reason to hold on testnet. You can publish it right now if it's ready. If testnet code is not ready simply don't launch.

I am sure people will agree with e that testnet must go with equihash algo since genesis or block 1. There is no need for legacy. For testing transition you should have a reg test.

sammy007 commented Oct 23, 2017

It's still a mistery for me how people are going to launch a bitcoin fork without providing code before launch. Normal launch = post mainnet code 5 minutes before launch so we all can set it up, but there is literally no reason to hold on testnet. You can publish it right now if it's ready. If testnet code is not ready simply don't launch.

I am sure people will agree with e that testnet must go with equihash algo since genesis or block 1. There is no need for legacy. For testing transition you should have a reg test.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 23, 2017

Contributor

The incompatibility with Zcash is made for better as even Daira mentioned that they are planning to add the block height as argument for the block calculation.
The testnet is under development. I try to do all my best but most of the time I need to answer such kind of attacks and other problems that developers meet.
We need more devs, not more enemies. We are open to everyone that wants to help us, but when people are attacking us we are left with no other chance than doing everything by ourselves ..

Contributor

martin-key commented Oct 23, 2017

The incompatibility with Zcash is made for better as even Daira mentioned that they are planning to add the block height as argument for the block calculation.
The testnet is under development. I try to do all my best but most of the time I need to answer such kind of attacks and other problems that developers meet.
We need more devs, not more enemies. We are open to everyone that wants to help us, but when people are attacking us we are left with no other chance than doing everything by ourselves ..

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 23, 2017

So we are waiting for an altered zcash stratum spec for bitcoin gold in order to start development on our side.
We: me and a dozen of pool ops for sure.

sammy007 commented Oct 23, 2017

So we are waiting for an altered zcash stratum spec for bitcoin gold in order to start development on our side.
We: me and a dozen of pool ops for sure.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 23, 2017

Contributor

About the testnet I needed to download the bitcoin testnet in order to check if the change of the PoW is handled and I needed to modify the DNSSeed code. I have done both of the things and have synched all of the testnet.
The regtest shows no problems with the PoW change. Today I will be finishing the stratum protocol and will provide the changes so the mining pools can start synching the netowork and make some changes.

Contributor

martin-key commented Oct 23, 2017

About the testnet I needed to download the bitcoin testnet in order to check if the change of the PoW is handled and I needed to modify the DNSSeed code. I have done both of the things and have synched all of the testnet.
The regtest shows no problems with the PoW change. Today I will be finishing the stratum protocol and will provide the changes so the mining pools can start synching the netowork and make some changes.

@OleksandrBlack

This comment has been minimized.

Show comment
Hide comment
@OleksandrBlack

OleksandrBlack commented Oct 25, 2017

+1
UP

@martin-key martin-key self-assigned this Oct 25, 2017

@BaikalMine

This comment has been minimized.

Show comment
Hide comment
@BaikalMine

BaikalMine Oct 28, 2017

When can I add a coin to the pools?

BaikalMine commented Oct 28, 2017

When can I add a coin to the pools?

@TheComputerGenie

This comment has been minimized.

Show comment
Hide comment
@TheComputerGenie

TheComputerGenie Oct 28, 2017

#37 (comment)

Confirmed. Existing stratum protocol works well with Bitcoin Gold block format. But some minor changes in pool software are still needed. More specifically, the pool must put the block height in the first 4 bytes of hashReserved field.

Anyone who can list popular pool softwares?

https://github.com/z-classic/z-nomp

TheComputerGenie commented Oct 28, 2017

#37 (comment)

Confirmed. Existing stratum protocol works well with Bitcoin Gold block format. But some minor changes in pool software are still needed. More specifically, the pool must put the block height in the first 4 bytes of hashReserved field.

Anyone who can list popular pool softwares?

https://github.com/z-classic/z-nomp

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 28, 2017

Contributor
Contributor

martin-key commented Oct 28, 2017

@h4x3rotab

This comment has been minimized.

Show comment
Hide comment
@h4x3rotab

h4x3rotab Oct 28, 2017

Contributor

We tried to follow zcash stratum spec but most miners still check the version field and the hashReserved field of the block header. So some changes are still needed for the miner side.

Contributor

h4x3rotab commented Oct 28, 2017

We tried to follow zcash stratum spec but most miners still check the version field and the hashReserved field of the block header. So some changes are still needed for the miner side.

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 28, 2017

So change it, publish markdown with spec, make a fork of CPU miner so devs can catch up.

sammy007 commented Oct 28, 2017

So change it, publish markdown with spec, make a fork of CPU miner so devs can catch up.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Oct 28, 2017

Contributor
Contributor

martin-key commented Oct 28, 2017

@sennevb

This comment has been minimized.

Show comment
Hide comment
@sennevb

sennevb Oct 29, 2017

Also not bad to notify claymores and optiminer and so..

sennevb commented Oct 29, 2017

Also not bad to notify claymores and optiminer and so..

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 30, 2017

the pool must put the block height in the first 4 bytes of hashReserved field.

@h4x3rotab could you publish a diff with zcash format?

sammy007 commented Oct 30, 2017

the pool must put the block height in the first 4 bytes of hashReserved field.

@h4x3rotab could you publish a diff with zcash format?

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Oct 30, 2017

PREVHASH (hex)
The 32-byte hash of the previous block, encoded as in a block header.
MERKLEROOT (hex)
The 32-byte Merkle root of the transactions in this block, encoded as in a block header.
RESERVED (hex)
A 32-byte reserved field, encoded as in a block header. Zero by convention (in hex, 0000000000000000000000000000000000000000000000000000000000000000).
TIME (hex)
The block time suggested by the server, encoded as in a block header.

So for block 492407 RESERVED instead of 64 char zero hex must be:

0007837700000000000000000000000000000000000000000000000000000000

Or it must be reversed or something else.

sammy007 commented Oct 30, 2017

PREVHASH (hex)
The 32-byte hash of the previous block, encoded as in a block header.
MERKLEROOT (hex)
The 32-byte Merkle root of the transactions in this block, encoded as in a block header.
RESERVED (hex)
A 32-byte reserved field, encoded as in a block header. Zero by convention (in hex, 0000000000000000000000000000000000000000000000000000000000000000).
TIME (hex)
The block time suggested by the server, encoded as in a block header.

So for block 492407 RESERVED instead of 64 char zero hex must be:

0007837700000000000000000000000000000000000000000000000000000000

Or it must be reversed or something else.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key
Contributor

martin-key commented Nov 1, 2017

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Nov 1, 2017

Contributor

This is working as bitcoin gold pool.

Contributor

martin-key commented Nov 1, 2017

This is working as bitcoin gold pool.

@BaikalMine

This comment has been minimized.

Show comment
Hide comment
@BaikalMine

BaikalMine Nov 1, 2017

This is working as bitcoin gold pool.

Will you need to make a new pool? or can be installed on any z-nomp pool?

BaikalMine commented Nov 1, 2017

This is working as bitcoin gold pool.

Will you need to make a new pool? or can be installed on any z-nomp pool?

@TheComputerGenie

This comment has been minimized.

Show comment
Hide comment
@TheComputerGenie

TheComputerGenie Nov 1, 2017

@DeadMan993 Because of the stratum edits, merging is best left to qualified pool operators.

TheComputerGenie commented Nov 1, 2017

@DeadMan993 Because of the stratum edits, merging is best left to qualified pool operators.

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Nov 3, 2017

So we can use block version = 4 now, it will make all existing zcash miners compatible, are you going to require exact version from getblocktemplate or 4 will remain acceptable?

sammy007 commented Nov 3, 2017

So we can use block version = 4 now, it will make all existing zcash miners compatible, are you going to require exact version from getblocktemplate or 4 will remain acceptable?

@h4x3rotab

This comment has been minimized.

Show comment
Hide comment
@h4x3rotab

h4x3rotab Nov 3, 2017

Contributor

@sammy007 version=4 is not feasible for Bitcoin Gold because of bip9

Contributor

h4x3rotab commented Nov 3, 2017

@sammy007 version=4 is not feasible for Bitcoin Gold because of bip9

@oliverw

This comment has been minimized.

Show comment
Hide comment
@oliverw

oliverw Nov 3, 2017

@h4x3rotab @sammy007 Out of curiosity, why would you use anything but the version from GBT? Regarding miner compatibility: Wouldn't miner apps still choke on the block height encoded in the first 4 bytes of hashReserved?

oliverw commented Nov 3, 2017

@h4x3rotab @sammy007 Out of curiosity, why would you use anything but the version from GBT? Regarding miner compatibility: Wouldn't miner apps still choke on the block height encoded in the first 4 bytes of hashReserved?

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Nov 3, 2017

@oliverw because there is a note in zcash spec that miners (software) must warn and don't mine other versions, I know at least one miner (nicehash cpu miner) which refused to mine anything but version 4. The 4 is also hardcoded in your znomp fork. If you need to inherit existing miners you should allow it. I have no idea if it works on mainnet, but I had a private testnet and it was acceptable. Can't mine on current live testnet because idiots bumped difficulty.

sammy007 commented Nov 3, 2017

@oliverw because there is a note in zcash spec that miners (software) must warn and don't mine other versions, I know at least one miner (nicehash cpu miner) which refused to mine anything but version 4. The 4 is also hardcoded in your znomp fork. If you need to inherit existing miners you should allow it. I have no idea if it works on mainnet, but I had a private testnet and it was acceptable. Can't mine on current live testnet because idiots bumped difficulty.

@oliverw

This comment has been minimized.

Show comment
Hide comment
@oliverw

oliverw Nov 3, 2017

@sammy007 True, I remember that. By the way I've never worked on any znomp forks. I'm working on https://github.com/coinfoundry/miningcore.

oliverw commented Nov 3, 2017

@sammy007 True, I remember that. By the way I've never worked on any znomp forks. I'm working on https://github.com/coinfoundry/miningcore.

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Nov 3, 2017

Well it was strabucks.

sammy007 commented Nov 3, 2017

Well it was strabucks.

@oliverw

This comment has been minimized.

Show comment
Hide comment
@oliverw

oliverw Nov 3, 2017

@sammy007 No problem. This whole story is pretty chaotic.

Can anyone recommend a miner compatible with the current BTG testnet?

oliverw commented Nov 3, 2017

@sammy007 No problem. This whole story is pretty chaotic.

Can anyone recommend a miner compatible with the current BTG testnet?

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Nov 3, 2017

They all must be compatible as long as miner don't give fuck to block version or if at least one fuck given and as long as daemon accepts block version 4.

sammy007 commented Nov 3, 2017

They all must be compatible as long as miner don't give fuck to block version or if at least one fuck given and as long as daemon accepts block version 4.

@oliverw

This comment has been minimized.

Show comment
Hide comment
@oliverw

oliverw Nov 3, 2017

@sammy007 So they are supposed to completely ignore hashReserved?

oliverw commented Nov 3, 2017

@sammy007 So they are supposed to completely ignore hashReserved?

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Nov 3, 2017

I only used nhequiminer and it works. Must work as long as it is not hardcoded in miner.

sammy007 commented Nov 3, 2017

I only used nhequiminer and it works. Must work as long as it is not hardcoded in miner.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Nov 3, 2017

Contributor
Contributor

martin-key commented Nov 3, 2017

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Nov 3, 2017

Contributor
Contributor

martin-key commented Nov 3, 2017

@sammy007

This comment has been minimized.

Show comment
Hide comment
@sammy007

sammy007 Nov 3, 2017

I prefer to talk about it in public here, with slack only a few people will learn. Pretty relevant despite its not an exact issue. A stratum diff with zcash will help and miners can contribute to compatibility spreadsheet.

sammy007 commented Nov 3, 2017

I prefer to talk about it in public here, with slack only a few people will learn. Pretty relevant despite its not an exact issue. A stratum diff with zcash will help and miners can contribute to compatibility spreadsheet.

@martin-key

This comment has been minimized.

Show comment
Hide comment
@martin-key

martin-key Nov 3, 2017

Contributor
Contributor

martin-key commented Nov 3, 2017

@h4x3rotab h4x3rotab closed this Dec 13, 2017

@BTCGPU BTCGPU deleted a comment from shakilmia Dec 13, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment