欧意交易所资讯

uncategorized
首页 > 欧意交易所资讯 > 正文内容

使用JavaScript创建Stellar账户及转账交易教程 - 区块链开发指南

qer1236个月前 (02-13)欧意交易所资讯194

1。概述

为了快速掌握区块链和数字货币应用程序的开发,我们建议使用。该内容涵盖了多个主流区块链平台,例如比特币,以太坊,EOS,Hyper 和其他主流区块链平台,并支持Java,C#,PHP和DART。

:应用程序通过开发接口与网络交互。这是一家HTTP API服务器,它使用API​​开发人员提交交易,检查帐户余额并订阅事件。您可以在Web浏览器中使用API​​或使用Curl命令行访问API。但是,最简单的方法是使用目前支持Java和Go的官方SDK。同时,社区还为C#和Ruby开发了SDK。 。

核心:是网络的骨干,每个服务器都需要连接到核心。核心负责验证交易并达成共识。所有个人运行的核心构成一个分散的网络,并且网络上的每笔交易都需要少量费用:100(0.00001 XLM)。交易费用的目的是阻止网络上的垃圾邮件。

共识协议 - SCP:SCP选择安全性和活动之间的安全性 - 当分区事件或具有异常行为的节点发生时,SCP将阻止网络运行,直到可以达成网络上的共识为止。请参阅有关SCP的详细信息。

使用Run Core:只需运行一个核心实例即可加入网络。我们可以使用 /此图像快速创建一个核心实例。

对于开发人员来说,幸运的是,还提供了一个测试链供开发使用。您可以查看其详细信息。

2。开发概述

在继续学习之前,我希望您对异步/等待的初步了解。

我们将在测试链上创建两个帐户,然后在两个帐户之间进行一些随机转移。最后,我们希望使用交易浏览器提取交易信息。简而言之,本教程的目的是让您快速了解区块链开发的基础知识。

您可以找到本教程的完整代码。本教程末尾也有完整的代码。

3。创建一个帐户

SDK是所有官方SDK中最稳定的。我们可以使用以下命令安装JS SDK:

代码语言:

复制

npm i -S stellar-sdk

使用以下JS代码初始化连接测试链的实例:

代码语言:

复制

const server = new Stellar.Server('https://horizon-testnet.stellar.org')
Stellar.Network.useTestNetwork()

现在我们可以创建两个随机帐户。 SDK提供了创建随机键对的函数,而无需提供密码群:

代码语言:

复制

let pairA = Stellar.Keypair.random()
let pairB = Stellar.Keypair.random()

最终的对象提供了两种方法,用于获取密钥对的公钥和密文种子:

接下来,我们定义以初始化帐户的路由。在以下功能中,我们将向测试链发送请求,以添加以前创建的密钥对帐户。我们将分别自动为帐户充电10.000流明。以下代码使用 - 软件包将请求发送到测试链API,该测试链API可以很好地与异步/等待。我们通过查询字符串将要充电的公共密钥地址。

代码语言:

复制

await rp.get({
  uri: 'https://horizon-testnet.stellar.org/friendbot',
  qs: { addr: pairA.publicKey() },
  json: true
})

该帐户现在已经创建,但是我们在应用程序中没有帐户对象。使用以下代码获取它:

代码语言:

复制

accountB = await server.loadAccount(pairB.publicKey())

现在,我们可以检查帐户中是否有一些硬币:

代码语言:

复制

accountA.balances.forEach((balance) => {
  console.log('Type:', balance.asset_type, ', Balance:', balance.balance)
})

可以对上述代码进行稍微修改以获得帐户B的余额。您可以尝试!

4。转移交易

事务()可以包含多个操作()。为简单起见,我们将仅使用转移操作。在下面的示例中,使用PAIRB的公共密钥作为传输目标地址,转移号为30。SDK要求安装参数应声明7个小数位:

代码语言:

复制

const transaction = new Stellar.TransactionBuilder(accountA)
  .addOperation(Stellar.Operation.payment({
    destination: pairB.publicKey(),
    asset: Stellar.Asset.native(),
    amount: '30.0000001'
  }))
  .build()

凉爽的!交易现在正在等待发送帐户签名,我们可以使用.sign(paira)来执行此操作。好的,您可以将其发送到:

代码语言:

复制

const transactionResult = await server.submitTransaction(transaction)

5。撤回交易历史记录

以下代码每页仅返回一项交易。您可以使用下一个()方法继续提取后续交易:

代码语言:

复制

let historyPage = await server.transactions()
  .forAccount(accountA.accountId())
  .call()

我们想在XDR编码的交易中打印操作详细信息。首先,您需要解码并迭代所有操作以显示已发送的金额:

代码语言:

复制

let txDetails = Stellar.xdr.TransactionEnvelope
  .fromXDR(historyPage.records[1].envelope_xdr, 'base64')
txDetails._attributes.tx._attributes.operations
  .map(operation => console.log(
    `Transferred amount:         
    ${operation._attributes.body._value._attributes.amount.low} XLM`
  ))

最后,让我们获取下一个:

代码语言:

复制

historyPage = await historyPage.next()

6。补充技能的原始链接:

扫描二维码推送至手机访问。

版权声明:本文由本站发布,如需转载请注明出处。

转载请注明出处https://juxingsy.com/post/2299.html

标签: 恒星币
分享给朋友:

相关文章

NFT发行活动:多个平台发售详情,购买需慎重

NFT发行活动:多个平台发售详情,购买需慎重

注意:由于NFT当前的热门开发,NFT市场中出现了许多大小的NFT平台,但是当前的平台质量也不平衡。 NFT Line News只是为您提供一些对平台分销活动的参考,而不是建议! 我还提醒所有人:在...

鲸探发售日历更新,发行量减少引发藏友抢购热潮与未来变动期待

鲸鱼侦探的发布日历昨晚也更新了,但是鲸鱼侦探是否反对这一趋势?现在,许多收藏家很长一段时间没有抓住它,但是循环仍在减少?我想这仍然不可用。 (点击放大) 新收藏家不时询问鲸鱼宝藏计划001以及发布...

NFC 功能大揭秘:移动支付、数据传输、信息浏览与文件传输

NFC 功能大揭秘:移动支付、数据传输、信息浏览与文件传输

NFC 功能 1. 信息浏览 很少有人知道它可以读取银行卡,这里介绍一下简单的操作方法:打开手机NFC,触碰银行卡,即可读取银行卡信息、查看交易记录、开通快捷支付等,直接操作即可,消费查询方便快捷。...

2023年编辑部迁址公告及投稿须知:北京市丰台区新办公区地址与电话更新

2023年编辑部迁址公告及投稿须知:北京市丰台区新办公区地址与电话更新

《物联网杂志》的编辑部门于2023年10月8日搬到了新办公区,具体更改如下。 地址:2楼,“ 大楼” B大楼B,北京北京街 1号建筑物 邮政编码: 编辑部门电话号码:(010),, 发行部电话:(0...

鱿鱼币暴涨暴跌后仍在交易,分析称终将消失

鱿鱼币暴涨暴跌后仍在交易,分析称终将消失

在热门韩剧《鱿鱼游戏》中出现后,一种名为鱿鱼游戏的加密货币便火了起来。11月4日,北京商报记者注意到,在处于舆论中心的鱿鱼币暴涨暴跌之后,仍有部分用户抱着侥幸心理继续交易相关代币,鱿鱼币的价格依然大幅...

币安创始人赵长鹏翻车,SEC 指控其欺诈、操纵市场

币安创始人赵长鹏翻车,SEC 指控其欺诈、操纵市场

当地时间 6 月 5 日晚,美国证券交易委员会(SEC)将币安及其创始人赵长鹏告上法庭。 在哥伦比亚特区联邦法院接受的 13 项起诉书中,SEC 表示,赵长鹏和币安参与了广泛的欺诈行为,涉嫌操纵市场、...

加入欧意交易所,探索元宇宙世界!

探索DeFi,DApps, NFTs 和GameFi的世界,和OKX一起创造未来!