Готовы ли вы исследовать обширную галактику аккаунтов Stellar? Наденьте космические ботинки и приготовьтесь к межгалактическому приключению по космосу с технологией блокчейна. В этой статье мы окунемся в мир учетных записей Stellar и раскроем множество способов навигации и использования их.
Но сначала давайте подготовим почву. Stellar — это блокчейн-платформа с открытым исходным кодом, предназначенная для облегчения быстрых и недорогих трансграничных транзакций. Он позволяет выпускать и обмениваться цифровыми активами, включая собственную криптовалюту Stellar Lumens (XLM). Учетные записи Stellar служат воротами в эту вселенную, позволяя пользователям безопасно хранить и управлять своими цифровыми активами. Без лишних слов, перейдем к методам взаимодействия с аккаунтами Stellar!
- Создание учетной записи Stellar:
Чтобы отправиться в путешествие по Stellar, вам понадобится учетная запись Stellar. Все начинается с генерации уникальной пары криптографических ключей: открытого ключа и секретного ключа. Открытый ключ действует как идентификатор вашей учетной записи, а секретный ключ — это ваш личный ключ для доступа к вашей учетной записи и управления ею. Вот пример кода для создания учетной записи Stellar с использованием JavaScript SDK:
const StellarSdk = require('stellar-sdk');
const server = new StellarSdk.Server('https://horizon.stellar.org');
// Generate key pair
const pair = StellarSdk.Keypair.random();
// Create and fund the account
server.loadAccount('<source-account-public-key>')
.then((sourceAccount) => {
const transaction = new StellarSdk.TransactionBuilder(sourceAccount)
.addOperation(StellarSdk.Operation.createAccount({
destination: pair.publicKey(),
startingBalance: '10' // Initial XLM balance
}))
.build();
transaction.sign(StellarSdk.Keypair.fromSecret('<source-account-secret-key>'));
return server.submitTransaction(transaction);
})
.then(() => {
console.log('Account created successfully!');
})
.catch((error) => {
console.error('Error creating account:', error);
});
- Проверка баланса аккаунта.
После того как у вас появится аккаунт Stellar, вам захочется следить за своими цифровыми активами. Чтобы программно проверить баланс вашего аккаунта, вы можете использовать следующий фрагмент кода:
server.loadAccount('<account-public-key>')
.then((account) => {
console.log('Account balance:', account.balances[0].balance);
})
.catch((error) => {
console.error('Error checking account balance:', error);
});
- Отправка платежей.
Одним из основных вариантов использования учетных записей Stellar является осуществление платежей. Вот пример фрагмента кода для отправки Stellar Lumens (XLM) из одного аккаунта в другой:
const destinationPublicKey = '<destination-account-public-key>';
server.loadAccount('<source-account-public-key>')
.then((sourceAccount) => {
const transaction = new StellarSdk.TransactionBuilder(sourceAccount)
.addOperation(StellarSdk.Operation.payment({
destination: destinationPublicKey,
asset: StellarSdk.Asset.native(),
amount: '10' // Amount of XLM to send
}))
.build();
transaction.sign(StellarSdk.Keypair.fromSecret('<source-account-secret-key>'));
return server.submitTransaction(transaction);
})
.then(() => {
console.log('Payment sent successfully!');
})
.catch((error) => {
console.error('Error sending payment:', error);
});
- Управление линиями доверия.
Stellar позволяет пользователям хранить и осуществлять транзакции с различными цифровыми активами, выпущенными в сети. Для этого вам необходимо установить линии доверия с эмитентами активов. Вот пример фрагмента кода для добавления линии доверия для пользовательского ресурса:
const assetIssuerPublicKey = '<asset-issuer-public-key>';
const assetCode = '<asset-code>';
server.loadAccount('<account-public-key>')
.then((account) => {
const transaction = new StellarSdk.TransactionBuilder(account)
.addOperation(StellarSdk.Operation.changeTrust({
asset: new StellarSdk.Asset(assetCode, assetIssuerPublicKey),
limit: '100' // Maximum amount of the asset you're willing to hold
}))
.build();
transaction.sign(StellarSdk.Keypair.fromSecret('<account-secret-key>'));
return server.submitTransaction(transaction);
})
.then(() => {
console.log('Trustline added successfully!');
})
.catch((error) => {
console.error('Error adding trustline:', error);
});
- Взаимодействие со смарт-контрактами.
Stellar поддерживает создание и выполнение смарт-контрактов посредством своей децентрализованной среды приложений. Написав и развернув смарт-контракты, вы можете автоматизировать сложные транзакции и создавать децентрализованные приложения (DApps) на блокчейне Stellar. Вот упрощенный пример смарт-контракта, написанного на языке смарт-контрактов Stellar, который называется «Stellar Smart Contracts» (SSC):
// Define a simple smart contract
const simpleContract = `
// Define the contract's logic
BEGIN_TRANSACTION
// Check if the sender has sufficient balance
ACCOUNT <sender> BALANCE <amount> GREATER_THAN
// Transfer funds from sender to receiver
ACCOUNT <sender> BALANCE -<amount> UPDATE
ACCOUNT <receiver> BALANCE +<amount> UPDATE
END_TRANSACTION
`;
// Execute the smart contract
const senderPublicKey = '<sender-account-public-key>';
const senderSecretKey = '<sender-account-secret-key>';
const receiverPublicKey = '<receiver-account-public-key>';
const amount = '5'; // Amount to transfer
server.fetchBaseFee()
.then((baseFee) => {
return server.buildTransaction({
fee: baseFee,
networkPassphrase: StellarSdk.Networks.PUBLIC,
source: senderPublicKey,
operations: [
StellarSdk.Operation.manageData({
name: 'contract',
value: simpleContract
}),
StellarSdk.Operation.beginSponsoringFutureReserves({
sponsoredId: receiverPublicKey,
source: senderPublicKey
}),
StellarSdk.Operation.payment({
destination: senderPublicKey,
asset: StellarSdk.Asset.native(),
amount: amount
}),
StellarSdk.Operation.sponsorFutureReserves({
sponsoredId: receiverPublicKey
}),
StellarSdk.Operation.payment({
destination: receiverPublicKey,
asset: StellarSdk.Asset.native(),
amount: amount
}),
StellarSdk.Operation.endSponsoringFutureReserves({
source: receiverPublicKey
})
]
});
})
.then((transaction) => {
transaction.sign(StellarSdk.Keypair.fromSecret(senderSecretKey));
return server.submitTransaction(transaction);
})
.then(() => {
console.log('Smart contract executed successfully!');
})
.catch((error) => {
console.error('Error executing smart contract:', error);
});
Имея в своем распоряжении эти методы, вы сможете с уверенностью ориентироваться в пространстве учетных записей Stellar. Stellar предлагает множество возможностей для энтузиастов децентрализованного финансирования и блокчейна, будь то создание учетных записей, проверка баланса, отправка платежей, управление линиями доверия или взаимодействие со смарт-контрактами.
Итак, пристегнитесь и отправляйтесь в звездное путешествие уже сегодня. Звезды – это предел!