Skip to content

Enable qpi mining function.#518

Merged
fnordspace merged 1 commit intodevelopfrom
bugfix/2025-08-26-enable-qpi-mining-function
Aug 26, 2025
Merged

Enable qpi mining function.#518
fnordspace merged 1 commit intodevelopfrom
bugfix/2025-08-26-enable-qpi-mining-function

Conversation

@cyber-pc
Copy link
Collaborator

This PR fix a bug in which qpi mining doesn't run due to invalid mining seed.

Copy link
Contributor

@fnordspace fnordspace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@fnordspace fnordspace merged commit e220819 into develop Aug 26, 2025
2 checks passed
@philippwerner
Copy link
Contributor

IMHO this isn't a good solution, because any future contract function can mess up the mining seed at any time now by calling qpi.initMiningSeed(), which opens a potential back-door for intentionally disabling all qpi mining.

I think, a better solution is to call score_qpi->initMiningData(miningSeed) in computeMiningFunction() if miningSeed != score_qpi->currentRandomSeed. And to remove qpi.initMiningSeed().

BTW: The note "SC is single-threaded" in qpi_mining_impl.h is only correct for contract procedures. Contract functions may run parallel.

hackerby888 added a commit to hackerby888/qubic-core-lite that referenced this pull request Aug 27, 2025
* Verify SC files automatically (qubic#506)

* compliance changes for CCF SC

* compliance changes for GQMPROP SC

* compliance changes for MSVAULT SC

* compliance changes for QEARN SC

* compliance changes for QBAY SC

* compliance changes for QUOTTERY SC

* compliance changes for QUTIL SC

* compliance changes for QX SC

* Qx: add div type explicitly to fix compile errors in test project

* compliance changes for TestExampleD SC

* add contract verify workflow

* Update contract-verify.yml

* update branch name in contract-verify.yml

* find all contract files to verify

* fix typo in contract-verify.yml

* print full path to file list

* use list of contract files as input for verify action

* only trigger contract-verify.yml when contract files or workflow file changed

* use published action in contract-verify.yml

* Revert "use published action in contract-verify.yml"

This reverts commit 6fbd535.

* mention contract verification tool in contracts.md

* make QPI div and mod constexpr

* update contract verify tool text in contracts.md

* add STATIC_ASSERT macro to enable use of static asserts in SC files

* remove workflow trigger on feature branch before merging into develop

* contributing doc: add paragraph about curly braces style

* update contract guidelines (qubic#512)

* remove unused defines that clash with QPI definitions

* fix: fixed gtest bug in qearn (qubic#516)

* fix: fixed gtest bug in qearn

* fix: removed unnecessary local variables in BEGIN_EPOCH procedure

* update contract verify tool to v0.3.3-beta

* Fix incorrect vc optimization of FourQ for release mode. (qubic#517)

* Add unittest for fourq.

* Fix MSVC misoptimization causing incorrect operation ordering.

* Unittest: Ensure FourQ is initialized if signature verification is used in contract testing.

* Add comment for optimization bug of MSVC.

* networking: support private IPs (qubic#513)

* nw: support private IPs

* remove redundant code

* fix warning

* add checking boundary when accessing publicPeers

* Fix bug relate to invalid mining seed of qpi mining. (qubic#518)

* update params for epoch 176 / v1.257.0

* Increase target tick duration

The delay function did not work due to bugs. Now the delay function
works and tick time should decrease.

---------

Co-authored-by: Franziska Mueller <11660876+Franziska-Mueller@users.noreply.github.com>
Co-authored-by: TakaYuPP <yutotaka24@gmail.com>
Co-authored-by: cyber-pc <165458555+cyber-pc@users.noreply.github.com>
Co-authored-by: dkat <39078779+krypdkat@users.noreply.github.com>
Co-authored-by: fnordspace <qubic@fnord.space>
@cyber-pc cyber-pc deleted the bugfix/2025-08-26-enable-qpi-mining-function branch September 4, 2025 02:55
hackerby888 added a commit to hackerby888/qubic-core-lite that referenced this pull request Sep 4, 2025
* Verify SC files automatically (qubic#506)

* compliance changes for CCF SC

* compliance changes for GQMPROP SC

* compliance changes for MSVAULT SC

* compliance changes for QEARN SC

* compliance changes for QBAY SC

* compliance changes for QUOTTERY SC

* compliance changes for QUTIL SC

* compliance changes for QX SC

* Qx: add div type explicitly to fix compile errors in test project

* compliance changes for TestExampleD SC

* add contract verify workflow

* Update contract-verify.yml

* update branch name in contract-verify.yml

* find all contract files to verify

* fix typo in contract-verify.yml

* print full path to file list

* use list of contract files as input for verify action

* only trigger contract-verify.yml when contract files or workflow file changed

* use published action in contract-verify.yml

* Revert "use published action in contract-verify.yml"

This reverts commit 6fbd535.

* mention contract verification tool in contracts.md

* make QPI div and mod constexpr

* update contract verify tool text in contracts.md

* add STATIC_ASSERT macro to enable use of static asserts in SC files

* remove workflow trigger on feature branch before merging into develop

* contributing doc: add paragraph about curly braces style

* update contract guidelines (qubic#512)

* remove unused defines that clash with QPI definitions

* fix: fixed gtest bug in qearn (qubic#516)

* fix: fixed gtest bug in qearn

* fix: removed unnecessary local variables in BEGIN_EPOCH procedure

* update contract verify tool to v0.3.3-beta

* Fix incorrect vc optimization of FourQ for release mode. (qubic#517)

* Add unittest for fourq.

* Fix MSVC misoptimization causing incorrect operation ordering.

* Unittest: Ensure FourQ is initialized if signature verification is used in contract testing.

* Add comment for optimization bug of MSVC.

* networking: support private IPs (qubic#513)

* nw: support private IPs

* remove redundant code

* fix warning

* add checking boundary when accessing publicPeers

* Fix bug relate to invalid mining seed of qpi mining. (qubic#518)

* update params for epoch 176 / v1.257.0

* Remove mining seed set function in qpi.

* Increase target tick duration

The delay function did not work due to bugs. Now the delay function
works and tick time should decrease.

* Develop (#4)

* Verify SC files automatically (qubic#506)

* compliance changes for CCF SC

* compliance changes for GQMPROP SC

* compliance changes for MSVAULT SC

* compliance changes for QEARN SC

* compliance changes for QBAY SC

* compliance changes for QUOTTERY SC

* compliance changes for QUTIL SC

* compliance changes for QX SC

* Qx: add div type explicitly to fix compile errors in test project

* compliance changes for TestExampleD SC

* add contract verify workflow

* Update contract-verify.yml

* update branch name in contract-verify.yml

* find all contract files to verify

* fix typo in contract-verify.yml

* print full path to file list

* use list of contract files as input for verify action

* only trigger contract-verify.yml when contract files or workflow file changed

* use published action in contract-verify.yml

* Revert "use published action in contract-verify.yml"

This reverts commit 6fbd535.

* mention contract verification tool in contracts.md

* make QPI div and mod constexpr

* update contract verify tool text in contracts.md

* add STATIC_ASSERT macro to enable use of static asserts in SC files

* remove workflow trigger on feature branch before merging into develop

* contributing doc: add paragraph about curly braces style

* update contract guidelines (qubic#512)

* remove unused defines that clash with QPI definitions

* fix: fixed gtest bug in qearn (qubic#516)

* fix: fixed gtest bug in qearn

* fix: removed unnecessary local variables in BEGIN_EPOCH procedure

* update contract verify tool to v0.3.3-beta

* Fix incorrect vc optimization of FourQ for release mode. (qubic#517)

* Add unittest for fourq.

* Fix MSVC misoptimization causing incorrect operation ordering.

* Unittest: Ensure FourQ is initialized if signature verification is used in contract testing.

* Add comment for optimization bug of MSVC.

* networking: support private IPs (qubic#513)

* nw: support private IPs

* remove redundant code

* fix warning

* add checking boundary when accessing publicPeers

* Fix bug relate to invalid mining seed of qpi mining. (qubic#518)

* update params for epoch 176 / v1.257.0

* Increase target tick duration

The delay function did not work due to bugs. Now the delay function
works and tick time should decrease.

---------

Co-authored-by: Franziska Mueller <11660876+Franziska-Mueller@users.noreply.github.com>
Co-authored-by: TakaYuPP <yutotaka24@gmail.com>
Co-authored-by: cyber-pc <165458555+cyber-pc@users.noreply.github.com>
Co-authored-by: dkat <39078779+krypdkat@users.noreply.github.com>
Co-authored-by: fnordspace <qubic@fnord.space>

* Fix bug in PRIVATE_PEER_IP logic

* update params for epoch 176 / v1.257.1

* fix a merge bug

* fix not ticking bug

* faster tick time in testnet

* fix contract test failed

* Update README.md

* initial linux port

* pin main thread for windows

* fix atomic bugs

* fix compilation bugs in windows

* update cmake build parameter

* Revise README_CLANG.md for clarity and accuracy

* Enhance README with build instructions and details

* Update README_CLANG.md with installation commands

Added compiler installation commands to README_CLANG.md.

* Update README.md

* linux port (#7)

* initial linux port

* pin main thread for windows

* fix atomic bugs

* fix compilation bugs in windows

* update cmake build parameter

* Revise README_CLANG.md for clarity and accuracy

* Enhance README with build instructions and details

* Update README_CLANG.md with installation commands

Added compiler installation commands to README_CLANG.md.

* Update README.md

* Format README.md for improved readability

* Revise compiler installation commands in README

Updated installation commands for clarity and added missing packages.

* performance boost

* improve networking performance

* fix compilation bugs in windows

* fix misalign bug in linux

* fix networking bugs (#9)

* tmp fix

* fixed bug cause new incomming connection get rejected

* upgrade stimulate uefi networking behaviour

* boost main thread performance in msvc

* log tick digest

* fix hangling send()

* improve send() behaviour in linux

* correctly enable non-blocking mode in windows

* remove unused logs

---------

Co-authored-by: Franziska Mueller <11660876+Franziska-Mueller@users.noreply.github.com>
Co-authored-by: TakaYuPP <yutotaka24@gmail.com>
Co-authored-by: cyber-pc <165458555+cyber-pc@users.noreply.github.com>
Co-authored-by: dkat <39078779+krypdkat@users.noreply.github.com>
Co-authored-by: fnordspace <qubic@fnord.space>
N-010 pushed a commit to N-010/core that referenced this pull request Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants