Bitcoin Forum
May 21, 2024, 05:48:09 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / if successful block mine from python || how to coinbase send my reward on: February 23, 2023, 06:35:36 AM
@MagicByt3 your topic https://bitcointalk.org/index.php?topic=5440240.0
@irsada   your topic     https://bitcointalk.org/index.php?topic=5439273.0

my question is
if successful block mine using btc_mine_python_code ,how to coinbase send my reward ### simple python code coinbase send my reward
explain me particular line coinbase send my reward

if you don t understand my question simple,i am asking for i need coinbase send my reward in python code

any one explain simple math coinbase generator my reward
2  Bitcoin / Development & Technical Discussion / update my code please|| wrong x print? on: February 10, 2022, 11:54:30 AM
run this code python2

Code:
# -*- coding: utf-8 -*-
# run python2
# Elliptic curve point operations (Python 2.7)

def OnCurve(x,y): # Check if the point is on the curve
    A = (y*y)%P
    B = (x*x*x)%P
    C = False
    if A == (B + 7):
        C = True
    return C

def legendre_symbol(a,p):
    ls = pow(a, (p - 1) / 2, p)
    return -1 if ls == p - 1 else ls

def modsqrt(a,p): # Square root A modulo P
    if legendre_symbol(a, p) != 1:
        return 0
    elif a == 0:
        return 0
    elif p == 2:
        return p
    elif p % 4 == 3:
        return pow(a, (p + 1) / 4, p)
    s = p - 1
    e = 0
    while s % 2 == 0:
        s /= 2
        e += 1
    n = 2
    while legendre_symbol(n, p) != -1:
        n += 1
    x = pow(a, (s + 1) / 2, p)
    b = pow(a, s, p)
    g = pow(n, s, p)
    r = e
    while True:
        t = b
        m = 0
        for m in xrange(r):
            if t == 1:
                break
            t = pow(t, 2, p)
        if m == 0:
            return x
        gs = pow(g, 2 ** (r - m - 1), p)
        g = (gs * gs) % p
        x = (x * gs) % p
        b = (b * g) % p
        r = m

def modinv(a,n): # Extended Euclidean Algorithm in elliptic curves
    lm, hm = 1,0
    low, high = a%n,n
    while low > 1:
        ratio = high/low
        nm = hm - lm * ratio
        new = high - low * ratio
        hm = lm
        high = low
        lm = nm
        low = new
    return lm % n

def ECadd(xp,yp,xq,yq): # EC point addition
    m = ((yq-yp) * modinv(xq-xp,P))%P
    xr = (m*m-xp-xq)%P
    yr = (m*(xp-xr)-yp)%P
    return (xr,yr)

def ECdouble(xp,yp): # EC point doubling
    LamNumer = 3*xp*xp+Acurve
    LamDenom = 2*yp
    Lam = (LamNumer * modinv(LamDenom,P)) % P
    xr = (Lam*Lam-2*xp) % P
    yr = (Lam*(xp-xr)-yp) % P
    return (xr,yr)

def ECmul(xs,ys,Scalar): # EC point multiplication
    if Scalar == 0 or Scalar >= N: raise Exception("Invalid Scalar/Private Key")
    ScalarBin = str(bin(Scalar))[2:]
    Qx,Qy=xs,ys
    for i in range (1,len(ScalarBin)):
        Qx,Qy = ECdouble(Qx,Qy)
        if ScalarBin[i] == "1":
            Qx,Qy = ECadd(Qx,Qy,xs,ys)
    return (Qx,Qy)

def ECsub(xp,yp,xq,yq): # EC point subtraction
    X = (((yp+yq)*modinv(xq-xp,P))**2-xp-xq)%P
    A = (xp + X + xq)%P
    B = modsqrt(A,P)
    B1 = P - B
    Y = yq - (xq - X) * B
    X = X % P
    Y = Y % P
    if not OnCurve(X,Y):
        Y = yq - (xq - X) * B1
    Y = Y % P
    return X,Y

def ECdiv(Qx,Qy,Scalar): # EC point division
    A = (N-1)/Scalar
    Px,Py = ECmul(Qx,Qy,A)
    Py = P-Py
    return Px,Py

P = 2**256 - 2**32 - 2**9 - 2**8 - 2**7 - 2**6 - 2**4 - 1
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
Gx = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
Acurve = 0

ukx = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 # or your enter publickey x,y
uky = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

#you need add ,sub ,div
fadd = ECadd(ukx,uky,ukx,uky)  # 1 + 1 =2
print ('fadd',hex(fadd[0]),hex(fadd[1]))

fsub = ECsub(fadd[0],fadd[1],Gx,Gy) # 2 -1 = 1
print ('fsub',hex(fsub[0]),hex(fsub[1]))

fdub = ECdouble(ukx,uky) # 1 * 2 = 2
print ('fdub',hex(fdub[0]),hex(fdub[1]))

fdiv = ECdiv(fdub[0],fdub[1],2) # 2 / 2 = 1
print ('fdiv',hex(fdiv[0]),hex(fdiv[1]))

output is:
                           X is incorrect                                                                   Y output is correct
('fadd', '0xc8333020c4688a754bf3ad462f1e9f1fac80649a463ae4d4c1afd48d20fccffL', '0xb7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777L')
('fsub', '0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798L', '0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L')
('fdub', '0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5L', '0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52aL')
('fdiv', '0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798L', '0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L')


my output X value incorrect print why? what is mistake this code
Y value is correct print
update please

need correct output:
fadd 1 + 1 = 2
fsub 2 - 1 = 1
fdub 1 * 2 = 2
fdiv 2 / 2 = 1
3  Economy / Speculation / who is btc price changed every second on: February 03, 2022, 03:18:53 PM

who decides  btc,eth,doge, etc...... Sad price
who is control

Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!