创建文章

We are looking for publications that demonstrate building dApps or smart contracts!
See the full list of Gitcoin bounties that are eligible for rewards.

Tutorial Thumbnail
入门 · 30分钟

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
EditorImages/2021/01/16 00:52/Portal_fp.png
使用注册在此门户上开设一个新帐户。 您将收到一封确认电子邮件,用于激活帐户。 激活帐户后,您可以使用它来登录

步骤1.2:创建新项目

登录后,您将看到门户页面内容。 如果您首次登录并且尚未创建任何项目,则门户中将看不到任何项目。
EditorImages/2021/01/16 00:58/Portal_p1.png
现在,您可以通过单击“新建项目”来创建一个新项目。

该门户网站提供有关 BSN 节点位置的信息,您可以在其中访问 Algorand 和选择服务计划。(目前测试期间将为开发者们提供免费服务方案)
EditorImages/2021/01/16 00:59/Portal_p2.png在这里,我们选择“Hongkong PCN ”和“Free Plan**”以继续。

我们被要求给新项目起一个名字。 我们可以在这里选择 Algorand Mainnet 或 Algorand Testnet。

这时候我们命名为 Project01 并选择 Testnet

EditorImages/2021/01/16 01:01/Portal_p3.png点击创建以继续。

成功完成后,我们将在此处看到创建的项目的详细信息。

EditorImages/2021/01/16 01:03/Portal_p4.png在这里,我们看到 algod indexer REST API的访问地址,这些地址将在以后与Algorand Testnet交互时使用。 请注意,默认情况下,“Project Key”为空。 配置后,此密钥将放置在x-api-key 中。

点击更多,然后选择更新密钥
EditorImages/2021/01/16 01:06/Portal_p5.png
现在我们的项目中就出现了 Project Key。
EditorImages/2021/01/16 01:08/Portal_p6.png

步骤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

EditorImages/2021/01/16 01:13/curl_p1.png

没有项目密钥,我们无权访问网关。

现在,我们将密钥设置为请求头x-api-key

curl -H "x-api-key:f761508095214066fafe96391b4cb6cd71b3e0fc66caaf3f4404c53b3ed24f42" https://hk.bsngate.com/api/6d6a4e6e2c41dbfff5cf691f082b05a10f95a8dfd3d4cacad5b67dcffed5d274/Algorand-Testnet/algodrest/v2/status

EditorImages/2021/01/16 01:15/curl_p2.png我们看到通往 Algorand Testnet 的网关运行良好。

接下来我们将不再使用REST API,本教程其余部分将使用 JavaScript SDK 来与 Algorand Testnet 进行交互。

步骤1.4:检查门户网站上的统计信息

在继续介绍有关 Algorand SDK 的更多用法之前,我们将看一下 Algorand BSN Portal 上的统计信息。

点击统计
EditorImages/2021/01/16 01:22/Portal_stats.png

我们可以看到使用 REST-API 访问该地址的流量。 您随时可以返回门户并查看统计信息。

第2步:通过BSN网关与Algorand Testnet交互

准备好通过BSN的网关后,我们现在将重点放在与 Algorand Testnet 交互的基本操作上。 出于演示目的,我们仅在 Testnet 中创建 Account 并从 Faucet 获得资金。

步骤2.1:准备节点环境

准备一个目录作为我们的项目目录,并初始化一个NodeJS环境。

cd AlgorandBSNPortal
npm init -y

EditorImages/2021/01/16 01:27/npm_p1.png

安装 Algorand SDK

npm install algosdk -s

EditorImages/2021/01/16 01:28/npm_p2.png

步骤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);

EditorImages/2021/01/16 01:37/generateaccount.png
产生的账户地址为 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);
})

EditorImages/2021/01/16 01:42/accountinfo_noalgs.png
由于该帐户是新生成的,因此我们在该帐户中没有看到 Algos (Amount 为 0)。 在 Algorand Testnet 中也找不到有关此帐户的状态信息。

步骤2.4:从水龙头获得资金

现在我们可以为该帐户获得一些资金。 访问 Testnet 水龙头(https://bank.testnet.algorand.network)并将您的帐户地址粘贴到此处。EditorImages/2021/01/16 01:44/faucet.png
看到状态更新后,您的帐户将获得100个Algos的注资。

我们使用相同的脚本再次检查帐户。
EditorImages/2021/01/16 01:45/accountinfo_100algs.png

步骤2.5:在Algorand Explorer中查看帐户

最后,您可以在公链上查看您的帐户。 有几个可用的浏览器,您可以在Testnet上查看许多内容。 例如,在https://algoexplorer.io/中,我们粘贴我们的帐户地址。
EditorImages/2021/01/16 01:48/explorer.png
我们就可以看到我们的帐户余额为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);
});

lookup

接下来

本教程到此结束。 现在,您已经有一个已获得资金的帐户,您可以继续测试Algorand中的更多操作和高级功能,例如通过此网关在帐户之间转移Algos或Algorand Standard Asset(ASA)。