免责声明:一圈作为开放的资讯分享平台,所提供的所有资讯仅代表作者个人观点,与一圈平台立场无关,且不构成任何投资理财建议。
logo

Development

AWS通过使用 Reach集成到 Algorand 区块链

本文是一篇包含部署过程代码的入门文章,它演示了以下二者的基本集成:通过Serverless.com 部署的 AWS API Gateway/Lambda 与通过区块链开发平台 Reach.sh 的Algorand。下文的目标是能够通过一个HTTPS API与 Algorand 区块链进行交互。

原文作者:

翻译作者:

AWS通过使用 Reach集成到 Algorand 区块链

Simon Hutchison

作为一名软件工程师,我的背景是使用 AWS、HTTP API 等开发 Web2。  Web3令人兴奋,因为它使我们能够将经济性融入到产品和服务中,而不是整合支付网关之类的内容作为事后的想法。

如今,开发人员和终端用户都非常熟悉 Web2,无论你们对 DApps vs Apps 有什么看法,我们都需要建立从 Web2 到 Web3 的桥梁。从技术上讲,我们需要从现有服务(如云数据库、API 和消息传递)转换数据。从社会影响上讲,如果我们能够随着时间的推移调整和转换现有服务,而不是试图迁移那些不关心Web3 同时需求简单轻松的使用体验的客户,那么从Web2 到Web3 的转化将会更加顺利。

下面的文章是一个包含部署过程代码的入门文章,它演示了以下二者的基本集成:通过 Serverless.com 部署的 AWS API Gateway/Lambda 与通过区块链开发平台 Reach.sh 的 Algorand。下文的目标是能够通过一个HTTPS API与 Algorand 区块链进行交互。

Balance of an Algorand account

在本文的其余部分中,我将逐一讲解我编写的Github存储库的各个主要部分,并在代码中解释本文的主题,以及有关如何自己配置并且部署的一些说明。

Routes.js

任何编写过 Express 应用程序的人都应该很熟悉./src/routes/Routes.js,到目前为止,我们处于 Web2 领域。

server.post(‘/account/phrase/balance’, async (req, res) => await ret({ res, req, func: AlgoRoutes.getBalance })) 

POST 终端获取Algorand钱包账户短语,并将从 Algorand 区块链返回对应的Algorand账户余额。值得注意的是,我们只需要帐户地址来获取余额,但是,作为一个样例,它演示了设置框架以代表帐户在区块链上进行交易的能力。

Reach.js

const loadStdlib = require('@reach-sh/stdlib').loadStdlib
const reach = loadStdlib({ ...process.env, REACH_CONNECTOR_MODE: 'ALGO' })
reach.setProviderByName('TestNet')

将 Algorand 区块链设置为要使用的共识网络,并将provider设置为测试网。

Account.js

./src/account/Account.js 是我们深入研究 Reach SDK 和 Web3 的地方!

acc = await reach.newAccountFromMnemonic(phrase)

返回由给定助记词指定的共识网络上帐户的 Reach 帐户抽象的Promise。

const balance = await reach.balanceOf(acc)

返回由 acc 参数提供的 Reach 帐户抽象给出的帐户持有的网络令牌(或非网络令牌,如果提供令牌)余额的Promise。

环境设置

要使用 Reach.sh 进行开发,你们需要设置编程的环境。如果你在 Windows系统上开发,环境的配置会有点麻烦;我期望你们在 Linux/Mac系统上开发,因为这样更加简单。我主要在 Windows 上工作,但对Linux/Ubuntu系统有相当一定的了解会对工作有很大的帮助。

如果您使用的是 Windows,请按照本指南开始使用 WSL 和相关库来设置您的 Windows 系统。

复制repo并在 VSCode中打开。检查项目是否在 WSL:Ubuntu 中运行(VSCode 左下角的绿色区域) 如果不是,请在 WSL:Ubuntu 中运行(单击绿色区域并在 WSL 中选择重新打开文件夹)

你还必须在 Ubuntu 中安装一些额外的工具才能开始使用,你可以先安装NodeJS和Yarn。

如果从根 repo 目录运行 yarn 可能会出现缺少某些库的错误。根据报错的消息确认哪些缺少哪些库,并运行 sudo apt install [missing library] 安装这些库直到 yarn 工作。

应用程序设置

使用 Algorand 钱包应用程序创建一个 Algorand 账户并使用 dispenser为该账户注资。

将 ./src/secrets_template.js 复制为./serverless.yaml 并将 Algorand 帐户详细信息添加到该文件中。再根据提示输入手机上显示的长短语。请注意文件 secrets.js 在 .gitignore 中,因为你永远不应该将帐户详细信息放入代码中。

测试

通过运行 yarn test 运行测试

部署

如果你熟悉 Serverless.com,那么你会认出 ./serverless.yaml 文件。如果你熟悉 Github actions,你会认出 github actions .github/workflows/deploy.yml

登录 Serverless.com。创建 serverless.com 应用程序并从 ./serverless.yml 复制名称作为 org/app/service 值。与您的 AWS 账户关联。创建 serverless.com 访问密钥并将其作为 SERVERLESS_ACCESS_KEY 保存到 Github actions SERVERLESS_ACCESS_KEY

Github 设置

添加 secrets

ALICE_ACCOUNT_PHRASE
SERVERLESS_ACCESS_KEY

现在您可以签入您的代码,部署过程应该会在 AWS 中创建您自己的 API 终端节点。

如果完成了上述的操作,那么欢迎来到俱乐部。我一直在 Reach.sh 社区闲逛,所以请到 discord channel打个招呼!

我们才刚刚开始构建 Web2 <-> Web3 之间的桥梁。还有更多!如果您对此感到兴奋,请给我们留言!

原文出处:https://medium.com/@hutch120

原文标题:

原文出处:

发表时间:

火速分享
Share on facebook
Share on twitter
Share on linkedin

Leave a Reply

近期热文

好久不见,甚是想念。快登录吧