Giter Site home page Giter Site logo

luminousmining / miner Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 1.0 398 KB

GPU Miner / Mining Software - 0% fees

License: MIT License

CMake 4.30% C++ 68.38% Cuda 15.08% C 11.70% Shell 0.53%
amd autolykos2 etchash ethash gpu-mining kawpow miner mining-software nvidia

miner's Introduction

  • 👋 Hi, I’m @luminousmining
  • 👀 I’m interested in mining software GPU
  • I love C/C++

miner's People

Contributors

luminousmining avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

1460293896

miner's Issues

Display Hashrate fix

(2024/Feb/13)(12:21:05) - ==================== HASHRATE =====================
(2024/Feb/13)(12:21:05) - | DeviceID | Coin    | Pool            | Hashrate  |
(2024/Feb/13)(12:21:05) - | 0        | etchash | etc.2miners.com | 49.99MH/S |
(2024/Feb/13)(12:21:05) - | 1        | etchash | etc.2miners.com | 0MH/S     |
(2024/Feb/13)(12:21:05) - ====================================================

(2024/Feb/13)(12:21:10) - ==================== HASHRATE =====================
(2024/Feb/13)(12:21:10) - | DeviceID | Coin    | Pool            | Hashrate  |
(2024/Feb/13)(12:21:10) - | 0        | etchash | etc.2miners.com | 0MH/S     |
(2024/Feb/13)(12:21:10) - | 1        | etchash | etc.2miners.com | 38.56MH/S |
(2024/Feb/13)(12:21:10) - ====================================================

The old hashrate should be stay display.

Stratum Job Info is so big.

StratumJobInfo need refacto, this struct will be big will new algorithm and all variable will not used.
The process copy all variable whatever alforithm is computing.

namespace stratum
{
    struct StratumJobInfo
    {
        // Common
        int32_t        epoch{ -1 };
        algo::hash256  jobID{};
        algo::hash256  headerHash{};
        algo::hash256  seedHash{};
        algo::hash256  boundary{};
        uint64_t       nonce{ 0ull };
        uint64_t       startNonce{ 0ull };
        uint64_t       extraNonce{ 0ull };
        uint64_t       gapNonce{ 0x1ull };
        uint64_t       blockNumber{ 0ull };
        uint64_t       period{ 0ull };
        uint64_t       boundaryU64{ 0ull };
        uint32_t       targetBits{ 0u };
        bool           cleanJob{ false };
        std::string    jobIDStr{};

        // SHA256
        algo::hash1024 coinb1{};
        algo::hash2048 coinb2{};
        algo::hash256  merkletree[12]{};

        // ETHASH && PROGPOW
        uint32_t       extraNonceSize{ 0u };
        uint32_t       extraNonce2Size{ 0u };

        StratumJobInfo(StratumJobInfo&& obj) = delete;
        StratumJobInfo& operator=(StratumJobInfo&& obj) = delete;

        StratumJobInfo() = default;
        ~StratumJobInfo() = default;

        StratumJobInfo(StratumJobInfo const& obj);
        StratumJobInfo& operator=(StratumJobInfo const& obj);

        void copy(StratumJobInfo const& obj);
    };
}

variable for sha256 will not use during compute progpow.

We need new pattern for it.

Solutions ?
1)
Add std::optional for all variable expect common variable.

Implemente inheritance, but this I will create a lot of cast.

Using component, example std::unordered_map<uint32_t, Component>.

component[COMPONENT_ID] = ComponentHeader;

Double queue buffering

Add double queue buffering.

The fonction of resolver resovler::XX::execute use one stream to improve the performant the process must use 2 streams.

  • CUDA
  • OpenCL

Mining electricty price

Add option --elec_price, unit price of $/kwh.
This option will be use by smart_mining to enable or disable mining in term of rentability from electribity price.

Wrapper clBuffer

Implement BufferData to wrapper cl::Buffer.
Use same pattern than BufferMappedData.

RavenMiner

Add profile mining ravenminer to mine rvn and payout with other coin.
Flags:

  • --rm_wallet=WALLET
  • --rm_payout_type=PPS|PNLS

Firopow

Missing implementation FIROPOW on AMD

Add fork algorithm

I hope to add the MEOWPOW algorithm, which is an adaptation of the KAWPOW algorithm

C++20 -> HiveOS Ubuntu20

When HiveOS release official version with ubuntu 20 you can upgrade clang version and compil with c++20.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.