Bitcoin Forum
November 04, 2024, 04:44:16 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 [182] 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 »
  Print  
Author Topic: [XPM] [ANN] Primecoin Release - First Scientific Computing Cryptocurrency  (Read 688800 times)
batesresearch
Legendary
*
Offline Offline

Activity: 2424
Merit: 1148


View Profile WWW
July 30, 2015, 09:50:24 AM
 #3621



Don't forget you can use your Primecoin to purchase dedicated Website Hosting at CryptoCloudHosting.org.

Visit Satoshi's Place, a Bitcoin Hub based in Bury, Manchester, UK.
Website: https://satoshisplace.co.uk
Goals: Educate & Onboard users in to Bitcoin. Lightning network⚡️
spazzdla
Legendary
*
Offline Offline

Activity: 1722
Merit: 1000


View Profile
July 30, 2015, 01:04:13 PM
 #3622



Don't forget you can use your Primecoin to purchase dedicated Website Hosting at CryptoCloudHosting.org.

ooh cool!!!
systh
Sr. Member
****
Offline Offline

Activity: 390
Merit: 250



View Profile
August 10, 2015, 08:16:52 AM
 #3623

FYI

By a request by one of your community member, Primecoin was added to Cryptocoins webfont/SVG icon pack of popular alt cryptocurrencies.


It's all GNU GPL v2, so do pretty much whatever you want. If you're missing some of your fav alts, hit me on Twitter @AllienWorks or just file a issue on Github.

(Hope you don't mind this post, but many of former added coin devs were happy to post this in their thread.)

Cheers and good luck!

SNOVio – Decentralized Lead Generation  |   Telegram  |   Facebook
bsunau7
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
August 27, 2015, 11:11:13 AM
 #3624

Hi,

Attached is a functional single threaded python miner based on the bitcoin miner.  I single threaded it and replaced the inner guts with primecoin's PoW.  It was done so I could get my head around the PoW as the white paper wasn't helping much.  It's mined some coins on testnet, but given it's performance I wouldn't even think of running in on prodnet!

I've left the config file up to the reader.  Also it doesn't use the fermat remainder as a test; it just throws the block up and lets the wallet validate (so you'll get a lot of failures with a testnet difficulty of 4.98).

Code:
#!/usr/bin/python
#
# Copyright (c) 2011 The Bitcoin developers
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
#

import pdb
import time
import json
import pprint
import hashlib
import struct
import re
import base64
import httplib
import sys
import gmpy2
from gmpy2 import mpz

ERR_SLEEP = 15
MAX_NONCE = 0x000effff

settings = {}
pp = pprint.PrettyPrinter(indent=4)

class BitcoinRPC:
        OBJID = 1

        def __init__(self, host, port, username, password):
                authpair = "%s:%s" % (username, password)
                self.authhdr = "Basic %s" % (base64.b64encode(authpair))
                self.conn = httplib.HTTPConnection(host, port, False, 30)
        def rpc(self, method, params=None):
                self.OBJID += 1
                obj = { 'version' : '1.1',
                        'method' : method,
                        'id' : self.OBJID }
                if params is None:
                        obj['params'] = []
                else:
                        obj['params'] = params
                self.conn.request('POST', '/', json.dumps(obj),
                        { 'Authorization' : self.authhdr,
                          'Content-type' : 'application/json' })

                resp = self.conn.getresponse()
                if resp is None:
                        print "JSON-RPC: no response"
                        return None

                body = resp.read()
                resp_obj = json.loads(body)
                if resp_obj is None:
                        print "JSON-RPC: cannot JSON-decode body"
                        return None
                if 'error' in resp_obj and resp_obj['error'] != None:
                        return resp_obj['error']
                if 'result' not in resp_obj:
                        print "JSON-RPC: no result in object"
                        return None

                return resp_obj['result']
        def getblockcount(self):
                return self.rpc('getblockcount')
        def getwork(self, data=None):
                return self.rpc('getwork', data)

def uint32(x):
        return x & 0xffffffffL

def bytereverse(x):
        return uint32(( ((x) << 24) | (((x) << 8) & 0x00ff0000) |
                        (((x) >> 8) & 0x0000ff00) | ((x) >> 24) ))

def bufreverse(in_buf):
        out_words = []
        for i in range(0, len(in_buf), 4):
                word = struct.unpack('@I', in_buf[i:i+4])[0]
                out_words.append(struct.pack('@I', bytereverse(word)))
        return ''.join(out_words)

def wordreverse(in_buf):
        out_words = []
        for i in range(0, len(in_buf), 4):
                out_words.append(in_buf[i:i+4])
        out_words.reverse()
        return ''.join(out_words)

class Miner:
        def __init__(self, id):
                self.id = id
                self.max_nonce = MAX_NONCE

        def ch1_test(self,origin,l):
                t1 = gmpy2.sub(origin,1)

                while l:
                        if (gmpy2.is_prime(t1)):
                                t2 = gmpy2.add(t1,t1)
                                t1 = gmpy2.add(t2,1)
                        else:
                                break
                        l = l - 1

                # l = 0 found a complete chain, l > 0 short chain
                if(l):
                        return 0
                else:
                        return 1

        def ch2_test(self,origin,l):
                t1 = gmpy2.add(origin,1)

                while l:
                        if (gmpy2.is_prime(t1)):
                                t2 = gmpy2.add(t1,t1)
                                t1 = gmpy2.sub(t2,1)
                        else:
                                break
                        l = l - 1

                # l = 0 found a complete chain, l > 0 short chain
                if(l):
                        return 0
                else:
                        return 1

        def work(self, datastr, targetstr):
                # decode work data hex string to binary
                static_data = datastr.decode('hex')

                # before we reverse we need to extract the target
                # target is encoded in the datastr 72-75 (nBits)
                target = struct.unpack(">I",static_data[72:76])[0]
                print "target: ", target/16777216.0
                tar_len = target/16777216

                # now flip data
                static_data = bufreverse(static_data)

                # the first 76b of 80b do not change
                blk_hdr = static_data[:76]

                # pre-hash first 76b of block header
                static_hash = hashlib.sha256()
                static_hash.update(blk_hdr)

                for nonce in xrange(self.max_nonce):
                        # encode 32-bit nonce value
                        nonce_bin = struct.pack("<I", nonce)

                        # hash final 4b, the nonce value
                        hash1_o = static_hash.copy()
                        hash1_o.update(nonce_bin)
                        hash1 = hash1_o.digest()

                        # sha256 hash of sha256 hash
                        hash_o = hashlib.sha256()
                        hash_o.update(hash1)
                        hash = hash_o.digest()

                        # convert binary hash to 256-bit Python long
                        hash = bufreverse(hash)
                        hash = wordreverse(hash)

                        hash_str = hash.encode('hex')
                        l = long(hash_str, 16)
                        mpz_l = mpz(l)

                        # high bit set?
                        if l < 1<<255:
                                continue

                        # Origin cannot be a prime, perform a quick odd/even test
                        if l & 0x01:
                                continue

                        # Chain length 4 needs mod 3 and mod 5 need to be zero. So mod 15 == 0
                        if((l % 15)):
                                continue

                        # do fermat (and trial division) test on chain, must not be prime!
                        if (gmpy2.is_prime(mpz_l)):
                                continue

                        #pdb.set_trace()

                        # Multiply by a number, pick one...
                        #origin = gmpy2.mul(mpz_l,510510)
                        #origin = gmpy2.mul(mpz_l,2310)
                        origin = gmpy2.mul(mpz_l,1)

                        # chain length 4. mod 7 ;0 = bi; 1,2,4 = neg, 3,5,6 = pos
                        m7 = l % 7

                        if(m7 == 0):
                                # test both chains
                                if (self.ch1_test(origin,tar_len) or self.ch2_test(origin,tar_len)):
                                        print "origin passed +-@%d" % (nonce,)

                                        # just submit
                                        print time.asctime(), "PROOF-OF-WORK found: %064x" % (l,)
                                        return (nonce + 1, nonce_bin)
                        elif((m7 == 1) or (m7 == 2) or (m7 == 4)):
                                # negative
                                if (self.ch2_test(origin,tar_len)):
                                        print "origin passed -@%d" % (nonce,)

                                        # just submit
                                        print time.asctime(), "PROOF-OF-WORK found: %064x" % (l,)
                                        return (nonce + 1, nonce_bin)
                        else:
                                # positive
                                if (self.ch1_test(origin,tar_len)):
                                        print "origin passed +@%d" % (nonce,)

                                        # just submit
                                        print time.asctime(), "PROOF-OF-WORK found: %064x" % (l,)
                                        return (nonce + 1, nonce_bin)

                        # loop for a new nonce
                        pass

                return (nonce + 1, None)

        def submit_work(self, rpc, original_data, nonce_bin):
                nonce_bin = bufreverse(nonce_bin)
                nonce = nonce_bin.encode('hex')
                # 510510
                #solution = original_data[:152] + nonce + "07CA2E03" + original_data[168:256]
                # 2310
                #solution = original_data[:152] + nonce + "00090602" + original_data[168:256]
                # 1
                solution = original_data[:152] + nonce + "00000101" + original_data[168:256]

                param_arr = [ solution ]
                result = rpc.getwork(param_arr)
                print time.asctime(), "--> Upstream RPC result:", result

        def iterate(self, rpc):
                work = rpc.getwork()
                if work is None:
                        time.sleep(ERR_SLEEP)
                        return
                if 'data' not in work or 'target' not in work:
                        time.sleep(ERR_SLEEP)
                        return

                time_start = time.time()

                (hashes_done, nonce_bin) = self.work(work['data'],
                                                     work['target'])

                time_end = time.time()
                time_diff = time_end - time_start

                self.max_nonce = long(
                        (hashes_done * settings['scantime']) / time_diff)
                if self.max_nonce > 0xffff0000L:
                        self.max_nonce = 0xffff0000L

                if settings['hashmeter']:
                        print "HashMeter(%d): %d hashes, %.2f Khash/sec" % (
                              self.id, hashes_done,
                              (hashes_done / 1000.0) / time_diff)

                if nonce_bin is not None:
                        self.submit_work(rpc, work['data'], nonce_bin)

        def loop(self):
                rpc = BitcoinRPC(settings['host'], settings['port'],
                                 settings['rpcuser'], settings['rpcpass'])
                if rpc is None:
                        return

                while True:
                        self.iterate(rpc)

def miner_thread(id):
        miner = Miner(id)
        miner.loop()

if __name__ == '__main__':
        if len(sys.argv) != 2:
                print "Usage: pyminer.py CONFIG-FILE"
                sys.exit(1)

        f = open(sys.argv[1])
        for line in f:
                # skip comment lines
                m = re.search('^\s*#', line)
                if m:
                        continue

                # parse key=value lines
                m = re.search('^(\w+)\s*=\s*(\S.*)$', line)
                if m is None:
                        continue
                settings[m.group(1)] = m.group(2)
        f.close()

        if 'host' not in settings:
                settings['host'] = '127.0.0.1'
        if 'port' not in settings:
                settings['port'] = 9914
        if 'threads' not in settings:
                settings['threads'] = 1
        if 'hashmeter' not in settings:
                settings['hashmeter'] = 0
        if 'scantime' not in settings:
                settings['scantime'] = 30L
        if 'rpcuser' not in settings or 'rpcpass' not in settings:
                print "Missing username and/or password in cfg file"
                sys.exit(1)

        settings['port'] = int(settings['port'])
        settings['threads'] = int(settings['threads'])
        settings['hashmeter'] = int(settings['hashmeter'])
        settings['scantime'] = long(settings['scantime'])

        print time.asctime(), "Miner Starts - %s:%s" % (settings['host'], settings['port'])

        # Single thread as the python debugger is even yuckier if you use them
        miner_thread(1)

        print time.asctime(), "Miner Stops - %s:%s" % (settings['host'], settings['port'])

Regards,

--
bsunau7
prophetx
Legendary
*
Offline Offline

Activity: 1666
Merit: 1010


he who has the gold makes the rules


View Profile WWW
November 16, 2015, 10:50:37 PM
 #3625

whats the current world record set by primecoin??

would be great if there was a website
spazzdla
Legendary
*
Offline Offline

Activity: 1722
Merit: 1000


View Profile
November 16, 2015, 11:17:01 PM
 #3626

whats the current world record set by primecoin??

would be great if there was a website

The org site had it just stopped updating Sad.
Lasergun
Legendary
*
Offline Offline

Activity: 1154
Merit: 1174


https://t.me/laser9un


View Profile
December 18, 2015, 05:10:02 PM
 #3627

Currently active and working for me primecoin nodes (if someone needed):
Code:
addnode=198.199.114.248:9911
addnode=210.211.117.192:9911
addnode=202.53.171.67:9911
addnode=89.179.126.88:9911
addnode=78.46.43.117:9911
addnode=91.155.234.254:9911
addnode=212.29.210.125:9911
addnode=188.155.136.70:9911
Lasergun
Legendary
*
Offline Offline

Activity: 1154
Merit: 1174


https://t.me/laser9un


View Profile
January 16, 2016, 07:57:32 AM
Last edit: January 28, 2016, 07:14:14 PM by Lasergun
 #3628

The latest primecoin blockchain snapshot in 7z archive: XPM blockchain.
S3cco
Hero Member
*****
Offline Offline

Activity: 2064
Merit: 528


❤ Bitcoin Garden


View Profile WWW
February 06, 2016, 01:05:26 PM
 #3629

Will Primecoin Market Capitalization be over $1.5M at the end of 1st half 2016? Yes or no? Dare to bet in Bitcoin?
https://www.betmoose.com/bet/primecoin-over-1_5m-market-cap-end-of-1st-half-2016-1559?ref=scacco

Hacker, Pirate, Milf Hunter, Owner of Bitcoin Garden
25hashcoin
Hero Member
*****
Offline Offline

Activity: 574
Merit: 500


View Profile
March 18, 2016, 04:27:13 AM
 #3630

Will Primecoin Market Capitalization be over $1.5M at the end of 1st half 2016? Yes or no? Dare to bet in Bitcoin?
https://www.betmoose.com/bet/primecoin-over-1_5m-market-cap-end-of-1st-half-2016-1559?ref=scacco


My vote is yes. Bitcoin halving will reignite the alt market. XPM is a solid player that has been around. I think it will have it's day again.

Bitcoin - Peer to Peer Electronic CASH
SimkoMiner
Hero Member
*****
Offline Offline

Activity: 925
Merit: 1000


View Profile
March 25, 2016, 06:41:00 AM
 #3631

Is this coin dead?
spazzdla
Legendary
*
Offline Offline

Activity: 1722
Merit: 1000


View Profile
March 25, 2016, 03:25:58 PM
 #3632

No but it does need more activity.  Would be nice if someone created something like that beeeeeeeer.org site again.  I'd use my gpu to solve some prime numbers lol.
alenevaa
Sr. Member
****
Offline Offline

Activity: 288
Merit: 260



View Profile WWW
April 28, 2016, 12:16:55 PM
 #3633

Is this coin dead?

It's still alive!  Cheesy

XPM is supported by Bitsquare.
Beta version has launched!

██████████████████████
████████████████████████
████████████████████████
████████████████████████
███████████████████████
█████████████████████
████████████████████████
████████████████████████
██████████████████████
██████████████████████
███████████████████████
████████████████████████
████████████████████████
████████████████████████
███████████████████████
██████████████████████
|
WINGS           
Where DAO Unicorns are born
|
.
1st Bitcoin & Ethereum DAO for DAOs
1st Decentralized Chatbot to Smart Contracts Interaction System

|
.
Wings Bounties Earn Eggs
X-Blockchain DAO

spazzdla
Legendary
*
Offline Offline

Activity: 1722
Merit: 1000


View Profile
May 25, 2016, 05:05:45 PM
 #3634

So do you have a question or something?
irritant
Sr. Member
****
Offline Offline

Activity: 473
Merit: 250


Sodium hypochlorite, acetone, ethanol


View Profile
May 25, 2016, 09:23:39 PM
 #3635

no he only posted so he gets notified when someone posts a reply, which is also possible if you click on "watch"
cryptosdice
Full Member
***
Offline Offline

Activity: 128
Merit: 100


View Profile
July 17, 2016, 02:27:23 PM
 #3636

Hi! we created a multicurrency dice site: www.cryptosdice.com.

We are looking for people that want to be part of the PRIMECOIN bankroll! We think this is a good opportunity for PRIMECOIN community as it offers many advantatges:

1 - A way to spend PRIMECOIN - dice games are a good step in any crptocurrency development.
2 - A way to invest PRIMECOIN in a dice bankroll.
3 - PRIMECOIN wins visibility, It will be displayed in our website next to btc or ltc.
4 - Our site includes faucet fore every currency. So players could get some free PRIMECOIN .
5 - Affiliates earn coins in the original bet currency, so users that don't know about PRIMECOIN may find they have some balance of this currency because their referrals's earnings and start to learn about PRIMECOIN.

Thanks for your support!
jimlite
Legendary
*
Offline Offline

Activity: 1848
Merit: 1018


View Profile WWW
August 07, 2016, 04:49:32 PM
 #3637

Less than half an  hour till the launch of a new Primecoin exchange. It will be very secure and PAYS interest on your holdings! That's right, earn interest on your XPM and BTC holdings like in a bank! https://rawx.io

Binance, hottest/largest alt exchange, 2BTC daily no verification. https://www.binance.com/?ref=13309371
NEED TO RENT A RIG? All algos at http://www.miningrigrentals.com/register?ref=627


  ✵ Super FAST block times      ✵ Block Explorer right in the wallet!     ✵ Stealth Addresses     ✵ PoW/PoS hybrid  
██
██
██
██
██
██
██
██
██
██
██
Ancient Money
for a New World
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
Join the conversation!
██
██
██
██
██
██
██
██
██
██
██

                 ▄████▄▄    ▄
██             ████████████▀
████▄         █████████████▀
▀████████▄▄   █████████████
▄▄█████████████████████████
██████████████████████████
  ▀██████████████████████
   █████████████████████
    ▀█████████████████▀
      ▄█████████████▀
▄▄███████████████▀
   ▀▀▀▀▀▀▀▀▀▀▀

TWITTER


TaShoKi
Sr. Member
****
Offline Offline

Activity: 404
Merit: 252


View Profile
September 02, 2016, 10:42:34 AM
 #3638

Expression: pfork!=NULL    WTFC?
Abiky
Legendary
*
Offline Offline

Activity: 3374
Merit: 1405


www.Crypto.Games: Multiple coins, multiple games


View Profile
September 03, 2016, 11:12:52 PM
 #3639

Primecoin was one of my favorite altcoins and also one of the first that I have began with. Its PoW algorithm is truly unique using prime numbers which (in my opinion) makes it a very efficient way of mining XPM. However, I wonder why no new development or innovations has been announced for XPM since the latest QT wallet was released on 2013. Still, I would love to get back to mining and holding XPM and relive the old days.  Cheesy

█████████████████████████
███████▄▄▀▀███▀▀▄▄███████
████████▄███▄████████
█████▄▄█▀▀███▀▀█▄▄█████
████▀▀██▀██████▀██▀▀████
████▄█████████████▄████
███████▀███████▀███████
████▀█████████████▀████
████▄▄██▄████▄██▄▄████
█████▀▀███▀▄████▀▀█████
████████▀███▀████████
███████▀▀▄▄███▄▄▀▀███████
█████████████████████████
.
 CRYPTOGAMES 
.
 Catch the winning spirit! 
█▄░▀███▌░▄
███▄░▀█░▐██▄
▀▀▀▀▀░░░▀▀▀▀▀
████▌░▐█████▀
████░░█████
███▌░▐███▀
███░░███
██▌░▐█▀
PROGRESSIVE
      JACKPOT      
██░░▄▄
▀▀░░████▄
▄▄▄▄██▀░░▄▄
░░░▀▀█░░▀██▄
███▄░░▀▄░█▀▀
█████░░█░░▄▄█
█████░░██████
█████░░█░░▀▀█
LOW HOUSE
         EDGE         
██▄
███░░░░░░░▄▄
█▀░░░░░░░████
█▄░░░░░░░░█▀
██▄░░░░░░▄█
███▄▄░░▄██▌
██████████
█████████▌
PREMIUM VIP
 MEMBERSHIP 
DICE   ROULETTE   BLACKJACK   KENO   MINESWEEPER   VIDEO POKER   PLINKO   SLOT   LOTTERY
hardcoreprime
Full Member
***
Offline Offline

Activity: 147
Merit: 100


View Profile
September 09, 2016, 12:35:12 PM
 #3640

Anyone know how to find out if there have been any new prime number found lately?  Is there a way to check from the wallet?

Pages: « 1 ... 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 [182] 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!