基于 Steem Connect V2 开发应用

skenan(60)
Published in
#cn
Words
652
Reading
3 min
Listen
Play
9y

image.png

Steem上的应用生态正变得越来越好,其中Steem Connect的出现起到非常重要的作用。它为去中心化平台提供了一个安全的中心化授权接口,从而使软件开发变的简单,高效。此教程用来介绍基于 Steem Connect V2 的应用开发流程。

PS: SteemConnect 有V1 版本,但不推荐使用,以下 SteemConnect 特指 V2

基本原理

同我们使用微信,QQ注册登录第三方网站一样,SteemConnect也使用了一种称为OAuth2的技术,阮一峰的这篇文章中有详细的讲解。

简单理解:第三方应用 A 要获取用户 B 的权限,必须向 B 信任的中心 C 提出申请,B 向 C 输入私钥批准申请,C 将包含该权限的Token 给予 A,A就可以使用 B 的相应权限。

好处:A 从未接触过 B 的私钥,且 B 可以只授予 A 部分权限,权限可通过控制Token过期随时收回。

开发者注册

第三方应用要接入SteemConnect,需要事先注册,注册地址:https://v2.steemconnect.com/dashboard

登录之后,点击左下方的My Apps, 在 My Apps 界面中点击 New App
image.png

这里需要 3 Steem 来给自己的 APP 注册一个账号,此账号由官方管理,你接触不到私钥。账号名称没有强制要求,但惯例以app结尾,例如busy.app, cnsteem.app

APP 注册成功之后,我们需要对 APP 进行配置,点击My Apps -> 选择 App -> 选择Edit
image.png

最重要的是Redirect URI(s)的设置,它可以设置多个,但一定要与授权之后返回的页面地址保持相同。比如在本地测试,用户在http://localhost:8080/ 申请登录,Redirect URI(s)中必须有相同的地址!

应用开发

Steemit 官方为我们提供了完整的 Javascript 开发接口和示例。
https://github.com/steemit/sc2-sdk
https://github.com/cnsteem/sc2-angular

以提供的Angular为例,需要修改 app.js, 适配自己的app

sc2.init({
  app: 'cnsteem.app',
  callbackURL: 'http://localhost:8080/',
  scope: ['vote', 'comment']
});

当用户授权成功后,服务器会返回一个Access Token, 通过该 token 调用 Steemconnect的API,进行点赞,评论,发帖等相关操作。
具体 Demo 可参考:https://cnsteem.github.io/sc2-angular/

结尾

国内程序员特别喜欢使用Vue 这个前端框架,通过 Vue 配合 sc2-sdk 可以开发许多有意思的应用,如果有兴趣可以尝试一下。

另外关于 steem 开发的文章鼓励大家加上 cn-progamming 标签 !

基于 Steem Connect V2 开发应用 | Ecency