Browse Source

changed build.sh / updated readme

pull/123/head
notgiven688 3 years ago
parent
commit
2881367710
5 changed files with 39 additions and 31 deletions
  1. +6
    -3
      README.md
  2. +3
    -4
      server/Server.sln
  3. +27
    -10
      server/Server/Program.cs
  4. +2
    -12
      server/Server/Server.csproj
  5. +1
    -2
      server/build

+ 6
- 3
README.md View File

@ -2,9 +2,8 @@
**Complete sources** for a monero (aeon) webminer. **Hard fork (v7) ready**. Try it here:
#### [Monero example](https://webminerpool.com/)
#### [Monero/Aeon/Turtlecoin/Electroneum example](https://webminerpool.com/)
#### [Aeon example](https://webminerpool.com/aeon)
###
_The server_ is written in **C#**, **optionally calling C**-routines to check hashes calculated by the clients. It acts as a proxy server for common pools. By default the server has a configured dev-donation of 3%.
@ -13,7 +12,11 @@ _The server_ is written in **C#**, **optionally calling C**-routines to check ha
_The client_ runs in the browser using javascript and webassembly.
**websockets** are used for the connection between the client and the server, **webassembly** to perform hash calculations, **web workers** for threads.
The project exists since September 2017 and is now fully open sourced, i.e. the server and the client (including the webassembly miner) can be build from the codebase.
# What is new? (Please Update!)
- **April 22, 2017**
- All cryptonight and cryptonight-light based coins are supported in a single miner. [Stratum extension](https://github.com/xmrig/xmrig-proxy/blob/dev/doc/STRATUM_EXT.md#mining-algorithm-negotiation) were implemented: The server now takes pool suggestions (algorithm and variant) into account. Defaults can be specified for each pool - that makes it possible to mine coins like Stellite, Turtlecoin,..
- Client reconnect time gets larger with failed attempts.
# Repository Content

+ 3
- 4
server/Server.sln View File

@ -9,16 +9,15 @@ Global
Release|x86 = Release|x86
Release_XMR|Any CPU = Release_XMR|Any CPU
Release_AEON|Any CPU = Release_AEON|Any CPU
Release_Server|Any CPU = Release_Server|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Debug|x86.ActiveCfg = Debug|x86
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Debug|x86.Build.0 = Debug|x86
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release_AEON|Any CPU.ActiveCfg = Release_AEON|Any CPU
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release_AEON|Any CPU.Build.0 = Release_AEON|Any CPU
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release_XMR|Any CPU.ActiveCfg = Release_XMR|Any CPU
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release_XMR|Any CPU.Build.0 = Release_XMR|Any CPU
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release|x86.ActiveCfg = Release|x86
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release|x86.Build.0 = Release|x86
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release_Server|Any CPU.ActiveCfg = Release_Server|Any CPU
{DC564972-9DEF-4897-A8F5-C4C21CEBDE2F}.Release_Server|Any CPU.Build.0 = Release_Server|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = server\server.csproj

+ 27
- 10
server/Server/Program.cs View File

@ -160,6 +160,7 @@ namespace Server {
private static void FillPoolPool () {
PoolPool.Clear ();
// MONERO !
PoolPool.Add ("xmrpool.eu", new PoolInfo ("xmrpool.eu", 3333));
PoolPool.Add ("moneropool.com", new PoolInfo ("mine.moneropool.com", 3333));
PoolPool.Add ("monero.crypto-pool.fr", new PoolInfo ("xmr.crypto-pool.fr", 3333));
@ -183,6 +184,7 @@ namespace Server {
PoolPool.Add ("killallasics", new PoolInfo ("killallasics.moneroworld.com", 3333));
PoolPool.Add ("arhash.xyz", new PoolInfo ("arhash.xyz", 3333, "x"));
// AEON
PoolPool.Add ("aeon-pool.com", new PoolInfo ("mine.aeon-pool.com", 5555, "", "cn-lite", -1));
PoolPool.Add ("minereasy.com", new PoolInfo ("aeon.minereasy.com", 3333, "", "cn-lite", -1));
PoolPool.Add ("aeon.sumominer.com", new PoolInfo ("aeon.sumominer.com", 3333, "", "cn-lite", -1));
@ -201,25 +203,22 @@ namespace Server {
PoolPool.Add ("pooltupi.com", new PoolInfo ("pooltupi.com", 8080, "x", "cn-lite", -1));
PoolPool.Add ("aeon.semipool.com", new PoolInfo ("pool.aeon.semipool.com", 3333, "x", "cn-lite", -1));
// Due to POW changes the following
// pools mights not work anymore with the current hashfunction.
// TURTLE - back again!
PoolPool.Add ("slowandsteady.fun", new PoolInfo ("slowandsteady.fun", 3333, "", "cn-lite", 1));
PoolPool.Add ("trtl.flashpool.club", new PoolInfo ("trtl.flashpool.club", 3333, "", "cn-lite", 1));
// SUMOKOIN - bye bye sumokoin
// ELECTRONEUM
PoolPool.Add ("etn.poolmining.org", new PoolInfo ("etn.poolmining.org", 3102));
PoolPool.Add ("etn.nanopool.org", new PoolInfo ("etn-eu1.nanopool.org", 13333, "x"));
PoolPool.Add ("etn.hashvault.pro", new PoolInfo ("pool.electroneum.hashvault.pro", 80, "x"));
// SUMOKOIN - cn-heavy not supported. bye bye sumokoin
// PoolPool.Add ("sumokoin.com", new PoolInfo ("pool.sumokoin.com", 3333));
// PoolPool.Add ("sumokoin.hashvault.pro", new PoolInfo ("pool.sumokoin.hashvault.pro", 3333, "x"));
// PoolPool.Add ("sumopool.sonofatech.com", new PoolInfo ("sumopool.sonofatech.com", 3333));
// PoolPool.Add ("sumo.bohemianpool.com", new PoolInfo ("sumo.bohemianpool.com", 4444, "x"));
// PoolPool.Add ("pool.sumokoin.ch", new PoolInfo ("pool.sumokoin.ch", 4444));
// ELECTRONEUM
PoolPool.Add ("etn.poolmining.org", new PoolInfo ("etn.poolmining.org", 3102));
PoolPool.Add ("etn.nanopool.org", new PoolInfo ("etn-eu1.nanopool.org", 13333, "x"));
PoolPool.Add ("etn.hashvault.pro", new PoolInfo ("pool.electroneum.hashvault.pro", 80, "x"));
int counter = 0;
jsonPools = "{\"identifier\":\"" + "poolinfo";
@ -522,8 +521,10 @@ namespace Server {
string testStr = new string ('1', 151) + '3';
string hashedResult = string.Empty;
IntPtr pStr;
try {
IntPtr pStr = hash_cn (testStr, 0, 1);
pStr = hash_cn (testStr, 0, 1);
hashedResult = Marshal.PtrToStringAnsi (pStr);
hash_free (pStr);
} catch (Exception e) {
@ -531,11 +532,27 @@ namespace Server {
return false;
}
// test -> cryptonight v1
if (hashedResult.Substring (0, 11) != "843ae6fc006") {
ex = new Exception ("Hash function returned wrong hash");
return false;
}
try {
pStr = hash_cn (testStr, 1, 0);
hashedResult = Marshal.PtrToStringAnsi (pStr);
hash_free (pStr);
} catch (Exception e) {
ex = e;
return false;
}
// test -> cryptonight lite v0
if (hashedResult.Substring (0, 11) != "f41e2a4e00e") {
ex = new Exception ("Hash function returned wrong hash");
return false;
}
ex = null;
return true;
}

+ 2
- 12
server/Server/Server.csproj View File

@ -30,21 +30,11 @@
<Externalconsole>true</Externalconsole>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_XMR|AnyCPU' ">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Server|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release_XMR</OutputPath>
<OutputPath>bin\Release_Server</OutputPath>
<WarningLevel>4</WarningLevel>
<Externalconsole>true</Externalconsole>
<DefineConstants>XMR</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_AEON|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release_AEON</OutputPath>
<WarningLevel>4</WarningLevel>
<DefineConstants>AEON</DefineConstants>
<Externalconsole>true</Externalconsole>
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
</PropertyGroup>

+ 1
- 2
server/build View File

@ -13,5 +13,4 @@ msbuild /version | grep version
echo ""
read -p "Press enter to continue"
msbuild Server.sln /p:Configuration=Release_XMR /p:Platform="any CPU"
msbuild Server.sln /p:Configuration=Release_AEON /p:Platform="any CPU"
msbuild Server.sln /p:Configuration=Release_Server /p:Platform="any CPU"

Loading…
Cancel
Save