This is the old Algorand Developer Portal. Please head over to dev.algorand.co to explore our newly rebuilt documentation site. Please excuse us as we continue to transition content to the new portal

创建文章

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)。