1. Go to this page and download the library: Download soneso/stellar-php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
soneso / stellar-php-sdk example snippets
// create a completely new and unique pair of keys.
$keyPair = KeyPair::random();
print($keyPair->getAccountId());
// GCFXHS4GXL6BVUCXBWXGTITROWLVYXQKQLF4YH5O5JT3YZXCYPAFBJZB
print($keyPair->getSecretSeed());
// SAV76USXIJOBMEQXPANUOQM6F5LIOTLPDIDVRJBFFE2MDJXG24TAPUU7
/// Init sdk for public net
$sdk = StellarSDK::getPublicNetInstance();
/// Create a key pair for your existing account.
$keyA = KeyPair::fromSeed("SAPS66IJDXUSFDSDKIHR4LN6YPXIGCM5FBZ7GE66FDKFJRYJGFW7ZHYF");
/// Load the data of your account from the stellar network.
$accA = $sdk->requestAccount($keyA->getAccountId());
/// Create a keypair for a new account.
$keyB = KeyPair::random();
/// Create the operation builder.
$createAccBuilder = new CreateAccountOperationBuilder($keyB->getAccountId(), "3"); // send 3 XLM (lumen)
// Create the transaction.
$transaction = (new TransactionBuilder($accA))
->addOperation($createAccBuilder->build())
->build();
/// Sign the transaction with the key pair of your existing account.
$transaction->sign($keyA, Network::public());
/// Submit the transaction to the stellar network.
$response = $sdk->submitTransaction($transaction);
if ($response->isSuccessful()) {
printf (PHP_EOL."account %s created", $keyB->getAccountId());
}
$accountId = "GCQHNQR2VM5OPXSTWZSF7ISDLE5XZRF73LNU6EOZXFQG2IJFU4WB7VFY";
// Request the account data.
$account = $sdk->requestAccount($accountId);
// You can check the `balance`, `sequence`, `flags`, `signers`, `data` etc.
foreach ($account->getBalances() as $balance) {
switch ($balance->getAssetType()) {
case Asset::TYPE_NATIVE:
printf (PHP_EOL."Balance: %s XLM", $balance->getBalance() );
break;
default:
printf(PHP_EOL."Balance: %s %s Issuer: %s",
$balance->getBalance(), $balance->getAssetCode(),
$balance->getAssetIssuer());
}
}
print(PHP_EOL."Sequence number: ".$account->getSequenceNumber());
foreach ($account->getSigners() as $signer) {
print(PHP_EOL."Signer public key: ".$signer->getKey());
}
$accountId = $account->getAccountId();
$operationsPage = $sdk->payments()->forAccount($accountId)->order("desc")->execute();
foreach ($operationsPage->getOperations() as $payment) {
if ($payment->isTransactionSuccessful()) {
print(PHP_EOL."Transaction hash: ".$payment->getTransactionHash());
}
}
$accountId = "GCDBA6GFGEHAMVAMRL6R2733EXUENJ35EMYNA2LE7WWJPVANORVC4UNA";
$sdk->payments()->forAccount($accountId)->cursor("now")->stream(function(OperationResponse $response) {
if ($response instanceof PaymentOperationResponse) {
switch ($response->getAsset()->getType()) {
case Asset::TYPE_NATIVE:
printf("Payment of %s XLM from %s received.", $response->getAmount(), $response->getSourceAccount());
break;
default:
printf("Payment of %s %s from %s received.", $response->getAmount(), $response->getAsset()->getCode(), $response->getSourceAccount());
}
if (floatval($response->getAmount()) > 0.5) {
exit;
}
}
});
$sdk->assets()
$sdk->transactions()
$sdk->effects()
$sdk->offers()
$sdk->operations()
$sdk->orderBook()
$sdk->trades()
// add so on ...
$senderKeyPair = KeyPair::fromSeed("SA52PD5FN425CUONRMMX2CY5HB6I473A5OYNIVU67INROUZ6W4SPHXZB");
$destination = "GCRFFUKMUWWBRIA6ABRDFL5NKO6CKDB2IOX7MOS2TRLXNXQD255Z2MYG";
// Load sender account data from the stellar network.
$sender = $sdk->requestAccount($senderKeyPair->getAccountId());
// Build the transaction to send 100 XLM native payment from sender to destination
$paymentOperation = (new PaymentOperationBuilder($destination,Asset::native(), "100"))->build();
$transaction = (new TransactionBuilder($sender))->addOperation($paymentOperation)->build();
// Sign the transaction with the sender's key pair.
$transaction->sign($senderKeyPair, Network::testnet());
// Submit the transaction to the stellar network.
$response = $sdk->submitTransaction($transaction);
if ($response->isSuccessful()) {
print(PHP_EOL."Payment sent");
}
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.