Algorand BSN 门户-入门指南
Algorand BSN 门户为开发者提供了一个网关服务,该服务可访问由 BSN(Blockchain-based Service Network)提供的 Algorand 区块链网络节点(主网和Testnet)。 本教程是将提供一个从 Algorand BSN Portal 上开设帐户到创建Algorand Testne t的访问网关的分步指南。 创建访问网关后,我们将在 Algorand Testnet 上执行一些任务。
需要的工具和环境
- nodeJS
- cURL
背景
本教程的整个流程如下:
使用 Algorand BSN 门户
- 创建帐号
- 创建项目
- 测试网关访问
- 在BSN Portal上查看统计信息
通过 BSN 网关与 Algorand Testnet 交互
- 准备Node环境
- 创建Algorand帐户
- 查看帐户余额
- 从测试网水龙头获得资金
- 在Algorand Explorer中检查帐户
- 使用索引器获取块信息
步骤
步骤一:使用 Algorand BSN 门户
步骤1.1:创建账户
登陆 https://bsn.algorand.org
使用注册在此门户上开设一个新帐户。 您将收到一封确认电子邮件,用于激活帐户。 激活帐户后,您可以使用它来登录。
步骤1.2:创建新项目
登录后,您将看到门户页面内容。 如果您首次登录并且尚未创建任何项目,则门户中将看不到任何项目。
现在,您可以通过单击“新建项目”来创建一个新项目。
该门户网站提供有关 BSN 节点位置的信息,您可以在其中访问 Algorand 和选择服务计划。(目前测试期间将为开发者们提供免费服务方案)
在这里,我们选择“Hongkong PCN ”和“Free Plan**”以继续。
我们被要求给新项目起一个名字。 我们可以在这里选择 Algorand Mainnet 或 Algorand Testnet。
这时候我们命名为 Project01 并选择 Testnet 。
点击创建以继续。
成功完成后,我们将在此处看到创建的项目的详细信息。
在这里,我们看到 algod 和indexer REST API的访问地址,这些地址将在以后与Algorand Testnet交互时使用。 请注意,默认情况下,“Project Key”为空。 配置后,此密钥将放置在x-api-key 中。
点击更多,然后选择更新密钥。
现在我们的项目中就出现了 Project Key。
步骤1.3:测试网关访问
要检查网关是否正常工作,我们可以使用此网关在Algorand Testnet上获取一些信息。 在这里,我们仅使用CURL。 (在这里您可以找到有关V2 API的更多信息:https://developer.algorand.org/docs/reference/rest-apis/algod/v2/)
首先,让我们尝试在没有密钥的情况下访问地址。
curl https://hk.bsngate.com/api/6d6a4e6e2c41dbfff5cf691f082b05a10f95a8dfd3d4cacad5b67dcffed5d274/Algorand-Testnet/algodrest/v2/status
没有项目密钥,我们无权访问网关。
现在,我们将密钥设置为请求头x-api-key 。
curl -H "x-api-key:f761508095214066fafe96391b4cb6cd71b3e0fc66caaf3f4404c53b3ed24f42" https://hk.bsngate.com/api/6d6a4e6e2c41dbfff5cf691f082b05a10f95a8dfd3d4cacad5b67dcffed5d274/Algorand-Testnet/algodrest/v2/status
我们看到通往 Algorand Testnet 的网关运行良好。
接下来我们将不再使用REST API,本教程其余部分将使用 JavaScript SDK 来与 Algorand Testnet 进行交互。
步骤1.4:检查门户网站上的统计信息
在继续介绍有关 Algorand SDK 的更多用法之前,我们将看一下 Algorand BSN Portal 上的统计信息。
点击统计。
我们可以看到使用 REST-API 访问该地址的流量。 您随时可以返回门户并查看统计信息。
第2步:通过BSN网关与Algorand Testnet交互
准备好通过BSN的网关后,我们现在将重点放在与 Algorand Testnet 交互的基本操作上。 出于演示目的,我们仅在 Testnet 中创建 Account 并从 Faucet 获得资金。
步骤2.1:准备节点环境
准备一个目录作为我们的项目目录,并初始化一个NodeJS环境。
cd AlgorandBSNPortal
npm init -y
安装 Algorand SDK
npm install algosdk -s
步骤2.2:创建Algorand帐户
我们将使用此脚本生成一个新帐户。 使用您自己喜欢的编辑器创建一个generatre_account.js
文件。
像所有其他区块链平台一样,账户由私钥和公共地址表示。 在 Algorand 中,私钥始终表示为25字的助记符,而对外而言,address 是一个x字节。 用于签署交易的25个单词的助记符始终保持私有。
(注意:我们只需要SDK即可生成帐户。由于Algorand不会区分帐户,因此我们没有指定是使用Algorand Mainnet还是Algorand Testnet。与此同时,我们不需要访问网关。一切都已完成。 您可以在您的主机上本地创建一个帐户,并且可以生成尽可能多的帐户,在这里只需选择本教程中要使用的帐户即可。
generate_account.js
const algosdk = require('algosdk');
let account = algosdk.generateAccount();
console.log("Account Address: ", account.addr);
let mn = algosdk.secretKeyToMnemonic(account.sk);
console.log("Account Mnemonic: ", mn);
产生的账户地址为 TG5SZ6PF3UP7PN4CVPR5D4EX7P5UINVWRZPOEJOXACLJAAGF7ASLI32QWI.。
接下来的教程中我们将使用该账户。
步骤2.3:检查帐户余额
接下来我们可以查看帐户信息,包括我们新生成的帐户的帐户余额。 我们可以使用如下脚本来进行查询。 您需要填写以下信息
- 访问地址:取自BSN Portal中创建的项目
- 密钥:取自BSN Portal中创建的项目
- 帐户地址:我们在上一步中刚刚生成的地址
check_accountinfo.js
const algosdk=require('algosdk');
const server="<YOUR ACCESS ADDRESS>";
const port="";
const token={
"x-api-key": "<YOUR KEY>"
};
let client=new algosdk.Algodv2(token,server,port);
let accountAddress = "YOUR ACCOUNT ADDRESS";
( async() => {
let account_info = (await client.accountInformation(accountAddress).do());
console.log(account_info);
})().catch(e => {
console.log(e);
})
由于该帐户是新生成的,因此我们在该帐户中没有看到 Algos (Amount 为 0)。 在 Algorand Testnet 中也找不到有关此帐户的状态信息。
步骤2.4:从水龙头获得资金
现在我们可以为该帐户获得一些资金。 访问 Testnet 水龙头(https://bank.testnet.algorand.network)并将您的帐户地址粘贴到此处。
看到状态更新后,您的帐户将获得100个Algos的注资。
我们使用相同的脚本再次检查帐户。
步骤2.5:在Algorand Explorer中查看帐户
最后,您可以在公链上查看您的帐户。 有几个可用的浏览器,您可以在Testnet上查看许多内容。 例如,在https://algoexplorer.io/中,我们粘贴我们的帐户地址。
我们就可以看到我们的帐户余额为100 Algos。 有一笔交易,即帐户收到 Testnet 龙头的交易(请注意该笔上的TxID和龙头的输出)。
步骤2.6:使用索引器获取块信息
Algorand BSN Portal 还提供了另一个访问地址,即索引器的 API 地址。 下面的脚本中我们使用索引器 API 获得区块信息。
lookup_block.js
const algosdk=require('algosdk');
const server="<YOUR ACCESS ADDRESS>";
const port="";
const token={
"x-api-key": "<YOUR KEY>"
};
llet client = new algosdk.Indexer(token,server,port);
(async()=> {
let blockInfo = await client.lookupBlock(10000).do()
console.log(blockInfo)
})().catch(e => {
console.log(e);
});
接下来
本教程到此结束。 现在,您已经有一个已获得资金的帐户,您可以继续测试Algorand中的更多操作和高级功能,例如通过此网关在帐户之间转移Algos或Algorand Standard Asset(ASA)。