Author

Topic: Small PHP Soft for automatics giveaway. Save your fingers ! (Read 2963 times)

member
Activity: 70
Merit: 10
[e-Token.org] Community Manager
I need my own server running a wallet to use this PHP? Does I understand that right?

Yes. The coins will be send from this wallet.
sr. member
Activity: 432
Merit: 250
I need my own server running a wallet to use this PHP? Does I understand that right?
member
Activity: 70
Merit: 10
[e-Token.org] Community Manager
Hi,

this is a gift to the community from www.e-token.org.

It's a small PHP soft I'm using to manage large lists of giveaways. Nothing exceptional, it's just about sharing it.

Example here: https://bitcointalksearch.org/topic/m.4560016

The only thing you have to do it to register the addresses by hand.
Then the transactions are auto, according to your setup. A list with the TX hash is returned.

I'll do no support on this, if you don't know how run a PHP file, google is your friend.

Be careful of what you do, this script will auto-send your coins, I'm not responsible of any mistakes or so.

Here how it look:





Here the code:

Code:
/*
Simple Auto-Giveaway script
by Mogui, gift to the community
Community manager of e-token.org

HELP
1. Configure your altcoin.conf (server=1, rpcuser, rpcpassword)
2. Confirgure the informations below
3. Start your daemon
4. Run index.php
5. After you're sure everything is okay, push start.

Be careful what you do,
you'll proceed to auto-sends by your own.

YOUR SETUP HERE
*/
class moguiveaway {

private $giveaway 0.1// amount per address
private $max 10// maximum to send

// Connections details
private $rpcuser 'root';
private $rpcpass 'pass';
private $rpchost 'localhost';
private $rpcport '29663';

// Array of addresses
private $addr = array(
'eCMjnUci43apiE87BPKEqrAzWLuUaDBPYo',
'eQwRi9XfkDHWypVPadJwisjdbUdxEB2q6o',
'addr3',
'ect...'
);

/* ==================================================================== */

function letsrollbaby() {

$rpc = new jsonRPCClient('http://'.$this->rpcuser.':'.$this->rpcpass.'@'.$this->rpchost.':'.$this->rpcport);

$c 0;

$count count($this->addr);
$balance $rpc->getbalance();

if(isset($_REQUEST['x'])) {
echo "Starting on ".intval(microtime(true))."

with a balance of "
.$balance." eTOK.

"
;

for($i=0$i<$count;$i++) {
$addr $this->addr[$i];
$do $rpc->sendtoaddress($addr$this->giveaway);
$tx $do == 'error' 'Transaction aborded: not enought funds, or unknown error.' $do
if($c $this->max) {
$time intval(microtime(true));
echo 'Public: '.$addr.'
'
;
echo 'TX: '.$tx.'
'
;
echo 'Time: '.$time.'

'
;
if($i 25) { sleep(1); }
$c $c $this->giveaway;
}

}

$balance $rpc->getbalance();
echo "
Over at "
.intval(microtime(true))."

with a balance of "
.$balance." eTOK.
";
} else {
if($rpc->getbalance() != 'error') {
echo "

Mogui's super giveaway fingers economizer


".$count." addresses registered.


Giveaways setup on ".$this->giveaway." per address.


Your balance is ".$balance." eTOK on this wallet.


You'll send ".$this->max." max.


You can pay a max of ".$this->max." / ".$this->giveaway." = ".($this->max $this->giveaway)." persons.


Start now ? YES


Your daemon will take at least 1sec per addr. Don't stop the engine.



"
;
} else {
echo "

Unable to connect to the server.

"
;
}
}
}
}

/* / ========================================================================= / */

$ga = new moguiveaway();
$ga->letsrollbaby();

/* / ========================================================================= /

                                        COPYRIGHT

Copyright 2007 Sergio Vaccaro 

This file is part of JSON-RPC PHP.

JSON-RPC PHP is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

JSON-RPC PHP is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with JSON-RPC PHP; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

/**
* The object of this class are generic jsonRPC 1.0 clients
* http://json-rpc.org/wiki/specification
*
* @author sergio 
*/
class jsonRPCClient {
        private 
$debug;
        private 
$url;
        private 
$id;
        private 
$notification false;
        public function 
__construct($url,$debug false) {
                
$this->url $url;
                empty(
$proxy) ? $this->proxy '' $this->proxy $proxy;
                empty(
$debug) ? $this->debug false $this->debug true;
                
$this->id 1;
        }
        
        public function 
setRPCNotification($notification) {
                empty(
$notification) ? $this->notification false $this->notification true;
        }

        public function 
__call($method,$params) {
                if (!
is_scalar($method)) { throw new Exception('Method name has no scalar value'); }
                if (
is_array($params)) { $params array_values($params); } else {
                
throw new Exception('Params must be given as array');
                }
                if (
$this->notification) { $currentId NULL; } else {
                        
$currentId $this->id;
                }
                
$request = array('method' => $method'params' => $params'id' => $currentId);
                
$request json_encode($request);
                
$this->debug && $this->debug.='***** Request *****'."\n".$request."\n".'***** End Of request *****'."\n\n";
                
$opts = array ('http' => array ('method' => 'POST''header' => 'Content-type: application/json''content' => $request));
                
$context stream_context_create($opts);
                if (
$fp = @fopen($this->url'r'false$context)) {
                        
$response '';
                        while(
$row fgets($fp)) {
                                
$response.= trim($row)."\n";
                        }
                        
$this->debug && $this->debug.='***** Server response *****'."\n".$response.'***** End of server response *****'."\n";
                        
$response json_decode($response,true);
                } else {
return "error";

                }
                if (
$this->debug) { echo nl2br($debug); }
                if (!
$this->notification) {
                        if (
$response['id'] != $currentId) {
                                throw new 
Exception('Incorrect response id (request id: '.$currentId.', response id: '.$response['id'].')');
                        }
                        if (!
is_null($response['error'])) {
                                throw new 
Exception('Request error: '.$response['error']);
                        }                        
                        return 
$response['result'];                        
                } else { return 
true; }
        }
}
?>
Jump to: