Just my 2 cents.
I wonder if we can get this to work on a pool with ypool.net xptProxy.
Source:
https://github.com/jh000/xptProxyIts used to mine dogecoin and "converts" the protocol into json.
Currently it supports sha-256, scrypt and primecoin algos.
There are no arguments to provide and connects by default on ypool.net port 10034 and rpc port 8332.
I made some changes to the source to allow arguments such as pool port rpcport.
main.cpp(int function, modified)
int main(int argc, char** argv)
{
printf("\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n");
printf("\xBA xptProxy (v0.2b) \xBA\n");
printf("\xBA contributors: jh \xBA\n");
printf("\xBA local protocols: getwork(8332)+longpoll \xBA\n");
printf("\xBA algorithms: scrypt \xBA\n");
printf("\xBA params: xptProxy.exe pool port rpcport \xBA\n");
printf("\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n");
printf("Launching proxy...\n");
char* poolURL = "ypool.net";
if(argv[1])
{
poolURL = argv[1];
}
proxySettings.poolPort = 10034;
if(argv[2])
{
proxySettings.poolPort = atoi(argv[2]);
}
proxySettings.rpcPort = 8332;
if(argv[3])
{
proxySettings.rpcPort = atoi(argv[3]);
}
// init winsock
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);
hostent* hostInfo = gethostbyname(poolURL);
if( hostInfo == NULL )
{
printf("Cannot resolve '%s'. Is it a valid URL?\n", poolURL);
exit(-1);
}
void** ipListPtr = (void**)hostInfo->h_addr_list;
uint32 ip = 0xFFFFFFFF;
if( ipListPtr[0] )
{
ip = *(uint32*)ipListPtr[0];
}
char ipText[32];
sprintf(ipText, "%d.%d.%d.%d", ((ip>>0)&0xFF), ((ip>>8)&0xFF), ((ip>>16)&0xFF), ((ip>>24)&0xFF));
// set default proxy settings (todo: Add config)
proxySettings.poolIP = ipText;
// init xpt proxy stuff
xptProxy_init();
// start json server thread
printf("Starting JSON-RPC server on port %d...\n", proxySettings.rpcPort);
jsonRpcServer_t* jrs = jsonRpc_createServer(proxySettings.rpcPort);
if( jrs == NULL )
{
printf("Failed to open a server on port %d, try again\n", proxySettings.rpcPort);
return -1;
}
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)jsonRpc_run, jrs, 0, NULL);
// start processing xpt clients
printf("xptProxy ready to accept connections!\n");
xptProxy_mainloop();
return 0;
}
After the changes it compiles and runs successfully with "xptProxy ypool.net 10034 8332"
I also added all the quark files/algos to the project and they needed no changes at all
Got the files from miner,
https://github.com/Neisklar/quarkcoin-cpuminerFiles: blake.c, bmw.c, groestl.c, jh.c, keccak.c, skein.c, the respective sph_headers.h and sph_types.h
The file wich actually exports quark hash and verify functions(quark.c) gives a missing function error
After the quark hashing functions can included without errors i think there are just some minor changes to do at xptProxy itself to actually recognize the algorithm.
A simple search shows:
xptClient.cpp
else if( xptShareToSubmit->algorithm == ALGORITHM_SHA256 || xptShareToSubmit->algorithm == ALGORITHM_SCRYPT )
xptProxy.cpp
if( xpc->algorithm == ALGORITHM_SCRYPT )
Not sure if the protocols are the same but maybe some one more skilled can give this a try?