<?php // Run on console: // php -f .\sample\transaction-api\NewTransactionEndpoint.php require __DIR__ . '/../bootstrap.php'; use BlockCypher\Api\TX; use BlockCypher\Auth\SimpleTokenCredential; use BlockCypher\Client\TXClient; use BlockCypher\Rest\ApiContext; $apiContext = ApiContext::create('test', 'bcy', 'v1', new SimpleTokenCredential('c0afcccdde5081d6429de37d16166ead'), array('mode' => 'sandbox', 'log.LogEnabled' => true, 'log.FileName' => 'BlockCypher.log', 'log.LogLevel' => 'DEBUG')); // Create a new instance of TX object $tx = new TX(); // Tx inputs $input = new \BlockCypher\Api\TXInput(); $input->addAddress("C5vqMGme4FThKnCY44gx1PLgWr86uxRbDm"); $tx->addInput($input); // Tx outputs $output = new \BlockCypher\Api\TXOutput(); $output->addAddress("C4MYFr4EAdqEeUKxTnPUF3d3whWcPMz1Fi"); $tx->addOutput($output); // Tx amount $output->setValue(1000); // Satoshis // For Sample Purposes Only. $request = clone $tx; $txClient = new TXClient($apiContext); $txSkeleton = $txClient->create($tx); ResultPrinter::printResult("New TX Endpoint", "TXSkeleton", $txSkeleton->getTx()->getHash(), $request, $txSkeleton);
// This sample code demonstrate how you can create a new transaction, as documented here at: // <a href="http://dev.blockcypher.com/#creating-transactions">http://dev.blockcypher.com/#creating-transactions</a> // // API used: POST /v1/btc/main/txs/new // Source wallet: // <a href="http://api.blockcypher.com/v1/btc/main/addrs/5596926E976A1149871172?token=c0afcccdde5081d6429de37d16166ead">5596926E976A1149871172</a> // Destination address: // <a href="https://live.blockcypher.com/btc-testnet/address/mvwhcFDFjmbDWCwVJ73b8DcG6bso3CZXDj/">mvwhcFDFjmbDWCwVJ73b8DcG6bso3CZXDj</a> require __DIR__ . '/../bootstrap.php'; /// Tx inputs $input = new \BlockCypher\Api\TXInput(); $input->setWalletName("5596926E976A1149871172"); //$input->setWalletName("AC33394F28292099183"); $input->setWalletToken("c0afcccdde5081d6429de37d16166ead"); /// Tx outputs $output = new \BlockCypher\Api\TXOutput(); $output->addAddress("mvwhcFDFjmbDWCwVJ73b8DcG6bso3CZXDj"); $output->setValue(1000); // Satoshis /// Tx $tx = new \BlockCypher\Api\TX(); $tx->addInput($input); $tx->addOutput($output); /// For Sample Purposes Only. $request = clone $tx; $txClient = new \BlockCypher\Client\TXClient($apiContexts['BTC.test3']); try { $output = $txClient->create($tx); } catch (\BlockCypher\Exception\BlockCypherConnectionException $ex) { $data = $ex->getData(); $txSkeleton = new \BlockCypher\Api\TXSkeleton($data);
// # Create TX To Fund Multisig Address // // This sample code demonstrate how you can create a new transaction, as documented here at: // <a href="http://dev.blockcypher.com/#creating-transactions">http://dev.blockcypher.com/#creating-transactions</a> // Destination address is a multisig address. // // API used: POST /v1/btc/main/txs/new require __DIR__ . '/../bootstrap.php'; // To use BlockCypher’s two-endpoint transaction creation tool, first you need to provide the input address(es), // output address, and value to transfer (in satoshis). This is provided in the form of a partially-filled out TX request object /// Tx inputs $input = new \BlockCypher\Api\TXInput(); $input->addAddress("n3D2YXwvpoPg8FhcWpzJiS3SvKKGD8AXZ4"); /// Tx outputs $output = new \BlockCypher\Api\TXOutput(); $output->setAddresses(array("03798be8162d7d6bc5c4e3b236100fcc0dfee899130f84c97d3a49faf83450fd81", "03dd9f1d4a39951013b4305bf61887ada66439ab84a9a2f8aca9dc736041f815f1", "03c8e6e99c1d0b42120d5cf40c963e5e8048fd2d2a184758784a041a9d101f1f02")); $output->setScriptType("multisig-2-of-3"); $output->setValue(1000); // Satoshis /// Tx $tx = new \BlockCypher\Api\TX(); $tx->addInput($input); $tx->addOutput($output); /// For Sample Purposes Only. $request = clone $tx; $txClient = new \BlockCypher\Client\TXClient($apiContexts['BTC.test3']); try { $txSkeleton = $txClient->create($tx); } catch (Exception $ex) { ResultPrinter::printError("Created Multisig TX (fund multisig address)", "TXSkeleton", null, $request, $ex);
// # Create TX Sample (without sending it) // // This sample code demonstrate how you can create a new transaction, as documented at <a href="http://dev.blockcypher.com/?#multisig-transactions">docs</a>. // Source address is a multisig address. // // API used: POST /v1/btc/main/txs/new // require __DIR__ . '/../bootstrap.php'; $tx = new \BlockCypher\Api\TX(); // Source address: <a href="https://live.blockcypher.com/btc-testnet/address/2Mu7dJvawNdhshTkKRXGAVLKdr2VA7Rs1wZ/">2Mu7dJvawNdhshTkKRXGAVLKdr2VA7Rs1wZ</a> $input = new \BlockCypher\Api\TXInput(); $input->setAddresses(array("033e88a5503dc09243e58d9e7a53831c2b77cac014415ad8c29cabab5d933894c1", "02087f346641256d4ba19cc0473afaa8d3d1b903761b9220a915e1af65a12e613c", "03051fa1586ff8d509125d3e25308b4c66fcf656b377bf60bfdb296a4898d42efd")); $input->setScriptType("multisig-2-of-3"); // Destination address: <a href="https://live.blockcypher.com/btc-testnet/address/n3D2YXwvpoPg8FhcWpzJiS3SvKKGD8AXZ4/">n3D2YXwvpoPg8FhcWpzJiS3SvKKGD8AXZ4</a> $output = new \BlockCypher\Api\TXOutput(); $output->addAddress("n3D2YXwvpoPg8FhcWpzJiS3SvKKGD8AXZ4"); $output->setValue(1000); // Satoshis $tx->addInput($input); $tx->addOutput($output); /// For Sample Purposes Only. $request = clone $tx; $txClient = new \BlockCypher\Client\TXClient($apiContexts['BTC.test3']); /// Create New TX try { $txSkeleton = $txClient->create($tx); } catch (Exception $ex) { ResultPrinter::printError("Created Multisig TX (spend multisig fund)", "TXSkeleton", null, $request, $ex); exit(1); }