dominant-strategies / go-quai

Official Go Implementation of the Quai Network
GNU General Public License v3.0
2.37k stars 460 forks source link

Create Endpoint to propogate singleton transactions to a trusted mining pool #2015

Closed mibuono closed 4 days ago

alanorwick commented 1 month ago

Could allow this by an external config. Technically done in devops. Write instructions on how to config trusted endpoints.

Djadih commented 1 month ago

Node needs to be able to propagate singleton transactions to miners. SendRawTransaction needs to be exposed

gameofpointers commented 1 month ago

1) Create a SendWorkedTransactions, GetWork API method under a new namespace a) SendWorkedTransactions takes in a workobject, verifies that the work done on the workobject header is within the range of work threshold from past 5 mins, if this check passes sends the transaction in the workobject into the tx pool, and if this workobject is also a workshare broadcasts the workshare into the libp2p (similar to SendWorkShare logic) b) GetWork api will return the current workobjectheader that is to be mined and also a threshold number with it 2) Create a flag to take trustedMinerEndpoint and it should be reachable from the quai_api 3) In send raw transaction if trustedMinerEndpoint exists, spawn an async process that gets the Work from the endpoint and start mining until you hit the threshold defined by the GetWork

Djadih commented 1 month ago

https://github.com/dominant-strategies/go-quai/pull/2028#issuecomment-2291865566

Djadih commented 2 weeks ago

Testing plan:

Djadih commented 2 weeks ago

One more missing step is to set the endpoint in the RPC