Bitcoin Forum
April 25, 2024, 04:26:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Blok Zinciri Host etmeden BTC içerikli Site Açmak  (Read 1301 times)
KocaEfe (OP)
Full Member
***
Offline Offline

Activity: 346
Merit: 102



View Profile
November 26, 2016, 12:59:58 PM
 #1

Merhabalar, satın aldığım birkaç yazılım var JSON-RPC bağlantıları ile entegre edebiliyorum kurulumda, teknikte sorunum yok.
Fakat sormak istediğim konu şu; Raspberry Pi 2' de bitcoin daemon kurduğum zaman blockchain'i host etmek büyük sorun. Yer olayından değil, hem işlemci çok kasıyor hem de en ufak elektrik kesilmesinde bile reindex olup saatlerimi, günlerimi çalıyor.

Blockchain.info'nun cüzdan API'si var fakat ben direkt kendim host etmek istiyorum. Block zincirine ihtiyaç duymadan bu işlemi nasıl yaparım?;
Şimdiden Teşekkürler...
1714062384
Hero Member
*
Offline Offline

Posts: 1714062384

View Profile Personal Message (Offline)

Ignore
1714062384
Reply with quote  #2

1714062384
Report to moderator
1714062384
Hero Member
*
Offline Offline

Posts: 1714062384

View Profile Personal Message (Offline)

Ignore
1714062384
Reply with quote  #2

1714062384
Report to moderator
The network tries to produce one block per 10 minutes. It does this by automatically adjusting how difficult it is to produce blocks.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714062384
Hero Member
*
Offline Offline

Posts: 1714062384

View Profile Personal Message (Offline)

Ignore
1714062384
Reply with quote  #2

1714062384
Report to moderator
cakir
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000


★ BitClave ICO: 15/09/17 ★


View Profile WWW
November 26, 2016, 01:16:08 PM
 #2

Electrum kullan. onun da benzer şekilde json-rpc si var.


                  ,'#██+:                 
              ,█████████████'             
            +██████████████████           
          ;██████████████████████         
         ███████:         .███████`       
        ██████               ;█████'      
      `█████                   #████#     
      ████+                     `████+    
     ████:                        ████,   
    ████:    .#              █     ████   
   ;███+     ██             ███     ████  
   ████     ███'            ███.    '███, 
  +███     #████           ,████     ████ 
  ████     █████ .+██████: █████+    `███.
 ,███     ███████████████████████     ████
 ████     ███████████████████████'    :███
 ███:    +████████████████████████     ███`
 ███     █████████████████████████`    ███+
,███     ██████████████████████████    #███
'███    '██████████████████████████    ;███
#███    ███████████████████████████    ,███
████    ███████████████████████████.   .███
████    ███████████████████████████'   .███
+███    ███████████████████████████+   :███
:███    ███████████████████████████'   +███
 ███    ███████████████████████████.   ███#
 ███.   #██████████████████████████    ███,
 ████    █████████████████████████+   `███
 '███    '████████████████████████    ████
  ███;    ███████████████████████     ███;
  ████     #████████████████████     ████ 
   ███#     .██████████████████     `███+ 
   ████`      ;██████████████       ████  
    ████         '███████#.        ████.  
    .████                         █████   
     '████                       █████    
      #████'                    █████     
       +█████`                ██████      
        ,██████:           `███████       
          ████████#;,..:+████████.        
           ,███████████████████+          
             .███████████████;            
                `+███████#,               
Zz
Legendary
*
Offline Offline

Activity: 1820
Merit: 1077


View Profile
November 26, 2016, 02:24:29 PM
 #3

Electrum kullan. onun da benzer şekilde json-rpc si var.

Çok güzel anlatmış adamlar : Bir inceleyin şurayı : http://docs.electrum.org/en/latest/merchant.html

Bende bir deneyeyim merak ettim Smiley
ballot
Hero Member
*****
Offline Offline

Activity: 969
Merit: 1000



View Profile
December 07, 2016, 07:25:46 AM
Last edit: December 07, 2016, 07:36:47 AM by ballot
 #4

ben her üyeye php ile random btc wallet üretiyorum .blockchain apisi ile alınan ödemelere falan bakabiliyorum başka da birşey gerekmiyor  Roll Eyes

Code:
require_once("bitcoinecdsa.php");

use BitcoinPHP\BitcoinECDSA\BitcoinECDSA;

function btc_balance($public_key)
{
$balance=curl("https://blockchain.info/q/getreceivedbyaddress/$public_key?confirmations=1");
if(is_numeric($balance))
{
$balance=btc8($balance);
return $balance;
}
return (int)0;
}

function btc_price($unit)
{
$cachefile = "cache/btc_usd.txt";
if($unit=='tl') { $cachefile = "cache/btc_tl.txt"; }
elseif($unit=='eur') { $cachefile = "cache/btc_eur.txt"; }
if (file_exists($cachefile) && (time() - 600 < filemtime($cachefile))) {
return file_get_contents($cachefile);
}
if($unit=='eur')
{
$balance=curl("http://preev.com/pulse/units:btc+eur/sources:btce");
}
else { $balance=curl("http://preev.com/pulse/units:btc+try/sources:bitstamp"); }
$balance=@json_decode($balance,1);
if(is_array($balance))
{
if($unit!='eur')
{
if(isset($balance['btc']['usd']['bitstamp']['last']))
{
//print_r($balance);
$usd_price=intval($balance['btc']['usd']['bitstamp']['last']);
$tl_price=intval(1/$balance['try']['usd']['other']['last']*$usd_price);
fwrite(fopen('cache/btc_usd.txt', 'w'), $usd_price);
fwrite(fopen('cache/btc_tl.txt', 'w'), $tl_price);
if($unit=='tl') { return $tl_price; }
return $usd_price;
}
}
else {
if(isset($balance['btc']['eur']['btce']['last']))
{
$eur_price=(int)$balance['btc']['eur']['btce']['last'];
fwrite(fopen('cache/btc_eur.txt', 'w'), $eur_price);
return $eur_price;
}
}
}
return file_get_contents($cachefile);
}


function curl($link, $post = null, $retries = 10){
        $curl = curl_init($link);
        if(is_resource($curl) === true){
                curl_setopt($curl, CURLOPT_FAILONERROR, true);
                curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36"); 
                curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
                curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
                if(isset($post) === true){
                        curl_setopt($curl, CURLOPT_POST, true);
                        curl_setopt($curl, CURLOPT_POSTFIELDS, (is_array($post) === true) ? http_build_query($post, "", "&"): $post);
                }
                $result = false;
                while(($result === false) && (--$retries > 0)){
                        $result = curl_exec($curl);
                }
                curl_close($curl);
        }
        return $result;
}


function check_if_paid_bitcoin($public_key,$fee)
{
$balance=btc_balance($public_key);
// 0.0002 transaction fee
if(($balance-0.0002)>=$fee)
{
return true;
}
return false;
}

function needs_to_pay_bitcoin($public_key,$fee)
{
$balance=btc_balance($public_key);
return $fee-$balance;
}

function btc8($val)
{
$a = bcmul($val, "1.0", 1);
return bcdiv($a, "100000000", 8);
}


function is_user_paid($uniqueid)
{
global $mysqli;
$stmt = $mysqli->prepare("SELECT is_paid,btc_public_key,fee FROM payments WHERE userid=?");
    $stmt->bind_param("s", $uniqueid);
    $stmt->execute();
    $stmt->bind_result($is_paid,$btc_public_key,$fee);
    $stmt->fetch();
    return check_if_paid_bitcoin($btc_public_key,$fee);
}


function generate_bitcoin_wallet()
{
$bitcoinECDSA = new BitcoinECDSA();
$bitcoinECDSA->generateRandomPrivateKey();
return array($bitcoinECDSA->getWif(),$bitcoinECDSA->getAddress());
}


function fetch($result)
{
    $array = array();
   
    if($result instanceof mysqli_stmt)
    {
        $result->store_result();
       
        $variables = array();
        $data = array();
        $meta = $result->result_metadata();
       
        while($field = $meta->fetch_field())
            $variables[] = &$data[$field->name]; // pass by reference
       
        call_user_func_array(array($result, 'bind_result'), $variables);
       
        $i=0;
        while($result->fetch())
        {
            $array[$i] = array();
            foreach($data as $k=>$v)
                $array[$i][$k] = $v;
            $i++;
           
        }
    }
    elseif($result instanceof mysqli_result)
    {
        while($row = $result->fetch_assoc())
            $array[] = $row;
    }
   
    return $array;
}

  function percent($a,$b){
    $c = $a / 100; 
    return floor($b / $c); 
  }

bitcoinecdsa.php http://pastebin.com/raw/qPUMBBHK
cakir
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000


★ BitClave ICO: 15/09/17 ★


View Profile WWW
December 07, 2016, 04:12:42 PM
 #5

ben her üyeye php ile random btc wallet üretiyorum .blockchain apisi ile alınan ödemelere falan bakabiliyorum başka da birşey gerekmiyor  Roll Eyes

Code:
require_once("bitcoinecdsa.php");

use BitcoinPHP\BitcoinECDSA\BitcoinECDSA;

function btc_balance($public_key)
{
$balance=curl("https://blockchain.info/q/getreceivedbyaddress/$public_key?confirmations=1");
if(is_numeric($balance))
{
$balance=btc8($balance);
return $balance;
}
return (int)0;
}

function btc_price($unit)
{
$cachefile = "cache/btc_usd.txt";
if($unit=='tl') { $cachefile = "cache/btc_tl.txt"; }
elseif($unit=='eur') { $cachefile = "cache/btc_eur.txt"; }
if (file_exists($cachefile) && (time() - 600 < filemtime($cachefile))) {
return file_get_contents($cachefile);
}
if($unit=='eur')
{
$balance=curl("http://preev.com/pulse/units:btc+eur/sources:btce");
}
else { $balance=curl("http://preev.com/pulse/units:btc+try/sources:bitstamp"); }
$balance=@json_decode($balance,1);
if(is_array($balance))
{
if($unit!='eur')
{
if(isset($balance['btc']['usd']['bitstamp']['last']))
{
//print_r($balance);
$usd_price=intval($balance['btc']['usd']['bitstamp']['last']);
$tl_price=intval(1/$balance['try']['usd']['other']['last']*$usd_price);
fwrite(fopen('cache/btc_usd.txt', 'w'), $usd_price);
fwrite(fopen('cache/btc_tl.txt', 'w'), $tl_price);
if($unit=='tl') { return $tl_price; }
return $usd_price;
}
}
else {
if(isset($balance['btc']['eur']['btce']['last']))
{
$eur_price=(int)$balance['btc']['eur']['btce']['last'];
fwrite(fopen('cache/btc_eur.txt', 'w'), $eur_price);
return $eur_price;
}
}
}
return file_get_contents($cachefile);
}


function curl($link, $post = null, $retries = 10){
        $curl = curl_init($link);
        if(is_resource($curl) === true){
                curl_setopt($curl, CURLOPT_FAILONERROR, true);
                curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36"); 
                curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
                curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
                if(isset($post) === true){
                        curl_setopt($curl, CURLOPT_POST, true);
                        curl_setopt($curl, CURLOPT_POSTFIELDS, (is_array($post) === true) ? http_build_query($post, "", "&"): $post);
                }
                $result = false;
                while(($result === false) && (--$retries > 0)){
                        $result = curl_exec($curl);
                }
                curl_close($curl);
        }
        return $result;
}


function check_if_paid_bitcoin($public_key,$fee)
{
$balance=btc_balance($public_key);
// 0.0002 transaction fee
if(($balance-0.0002)>=$fee)
{
return true;
}
return false;
}

function needs_to_pay_bitcoin($public_key,$fee)
{
$balance=btc_balance($public_key);
return $fee-$balance;
}

function btc8($val)
{
$a = bcmul($val, "1.0", 1);
return bcdiv($a, "100000000", 8);
}


function is_user_paid($uniqueid)
{
global $mysqli;
$stmt = $mysqli->prepare("SELECT is_paid,btc_public_key,fee FROM payments WHERE userid=?");
    $stmt->bind_param("s", $uniqueid);
    $stmt->execute();
    $stmt->bind_result($is_paid,$btc_public_key,$fee);
    $stmt->fetch();
    return check_if_paid_bitcoin($btc_public_key,$fee);
}


function generate_bitcoin_wallet()
{
$bitcoinECDSA = new BitcoinECDSA();
$bitcoinECDSA->generateRandomPrivateKey();
return array($bitcoinECDSA->getWif(),$bitcoinECDSA->getAddress());
}


function fetch($result)
{
    $array = array();
   
    if($result instanceof mysqli_stmt)
    {
        $result->store_result();
       
        $variables = array();
        $data = array();
        $meta = $result->result_metadata();
       
        while($field = $meta->fetch_field())
            $variables[] = &$data[$field->name]; // pass by reference
       
        call_user_func_array(array($result, 'bind_result'), $variables);
       
        $i=0;
        while($result->fetch())
        {
            $array[$i] = array();
            foreach($data as $k=>$v)
                $array[$i][$k] = $v;
            $i++;
           
        }
    }
    elseif($result instanceof mysqli_result)
    {
        while($row = $result->fetch_assoc())
            $array[] = $row;
    }
   
    return $array;
}

  function percent($a,$b){
    $c = $a / 100; 
    return floor($b / $c); 
  }

bitcoinecdsa.php http://pastebin.com/raw/qPUMBBHK
Ürettiğiniz adresler aynı anda size hizmet veren yer sağlayıcının da erişiminde olduğunu biliyorsunuz değil mi?
Yani size hosting sağlayan kişi size gelen fonları "çalabilir".


                  ,'#██+:                 
              ,█████████████'             
            +██████████████████           
          ;██████████████████████         
         ███████:         .███████`       
        ██████               ;█████'      
      `█████                   #████#     
      ████+                     `████+    
     ████:                        ████,   
    ████:    .#              █     ████   
   ;███+     ██             ███     ████  
   ████     ███'            ███.    '███, 
  +███     #████           ,████     ████ 
  ████     █████ .+██████: █████+    `███.
 ,███     ███████████████████████     ████
 ████     ███████████████████████'    :███
 ███:    +████████████████████████     ███`
 ███     █████████████████████████`    ███+
,███     ██████████████████████████    #███
'███    '██████████████████████████    ;███
#███    ███████████████████████████    ,███
████    ███████████████████████████.   .███
████    ███████████████████████████'   .███
+███    ███████████████████████████+   :███
:███    ███████████████████████████'   +███
 ███    ███████████████████████████.   ███#
 ███.   #██████████████████████████    ███,
 ████    █████████████████████████+   `███
 '███    '████████████████████████    ████
  ███;    ███████████████████████     ███;
  ████     #████████████████████     ████ 
   ███#     .██████████████████     `███+ 
   ████`      ;██████████████       ████  
    ████         '███████#.        ████.  
    .████                         █████   
     '████                       █████    
      #████'                    █████     
       +█████`                ██████      
        ,██████:           `███████       
          ████████#;,..:+████████.        
           ,███████████████████+          
             .███████████████;            
                `+███████#,               
cakir
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000


★ BitClave ICO: 15/09/17 ★


View Profile WWW
December 07, 2016, 06:38:20 PM
 #6

ben her üyeye php ile random btc wallet üretiyorum .blockchain apisi ile alınan ödemelere falan bakabiliyorum başka da birşey gerekmiyor  Roll Eyes

....
Ürettiğiniz adresler aynı anda size hizmet veren yer sağlayıcının da erişiminde olduğunu biliyorsunuz değil mi?
Yani size hosting sağlayan kişi size gelen fonları "çalabilir".

Aynısı tüm servis sağlayıcıları için geçerli. AWS, DigitalOcean vs... Electrum kullansanız da.
Yapılandırmayı düzgün yaparsanız sorun olmaz.
- Yerelde 10k adres yaratın
- kullanılmamışadresler tablosu oluşturun
- yeni siparişe yeni adres verin tablodan silin
- eğer kullanılmamış adresler azalırsa tabloya yeni eklersiniz.


                  ,'#██+:                 
              ,█████████████'             
            +██████████████████           
          ;██████████████████████         
         ███████:         .███████`       
        ██████               ;█████'      
      `█████                   #████#     
      ████+                     `████+    
     ████:                        ████,   
    ████:    .#              █     ████   
   ;███+     ██             ███     ████  
   ████     ███'            ███.    '███, 
  +███     #████           ,████     ████ 
  ████     █████ .+██████: █████+    `███.
 ,███     ███████████████████████     ████
 ████     ███████████████████████'    :███
 ███:    +████████████████████████     ███`
 ███     █████████████████████████`    ███+
,███     ██████████████████████████    #███
'███    '██████████████████████████    ;███
#███    ███████████████████████████    ,███
████    ███████████████████████████.   .███
████    ███████████████████████████'   .███
+███    ███████████████████████████+   :███
:███    ███████████████████████████'   +███
 ███    ███████████████████████████.   ███#
 ███.   #██████████████████████████    ███,
 ████    █████████████████████████+   `███
 '███    '████████████████████████    ████
  ███;    ███████████████████████     ███;
  ████     #████████████████████     ████ 
   ███#     .██████████████████     `███+ 
   ████`      ;██████████████       ████  
    ████         '███████#.        ████.  
    .████                         █████   
     '████                       █████    
      #████'                    █████     
       +█████`                ██████      
        ,██████:           `███████       
          ████████#;,..:+████████.        
           ,███████████████████+          
             .███████████████;            
                `+███████#,               
ballot
Hero Member
*****
Offline Offline

Activity: 969
Merit: 1000



View Profile
December 07, 2016, 07:10:41 PM
 #7

btc public keylerini düz yazın , private keylerini dbe rsa ile şifreleyip kaydedin.
private keyi de pcnizde tutun admin panelinden publickeylere ne kadar para gelmiş kontrol edebilirsiniz harcamak içinde private keyini elle kendi pcnizde decode edebilirsiniz
Pages: [1]
  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!