SteemJs登录的逻辑 / 网络研习社#57

login.jpg

Steem的登录有个麻烦事:Steem为了安全,设置了多层密码,什么posting key , active key……之类的,对于大部分人来讲,都是相当复杂的。而基于Steem设计的应用要想实现登录功能也绕不开这个麻烦事。

以前为了省事,做的SteemJiang是限定只能posting key登录!不过有些朋友反映SteemJiang登录不上去,也不知怎么查posting key。好吧,你就折腾着去查吧!

后来做链课,也充分考虑了多项因素,还是决定任意密码都可登录!

如上图所示,用户可以使用posting key,也可以使用密码,都可以正常使用,无非是在登录时多做了一层逻辑判断。

在用密码登录时要多做一步生成密钥的动作。在js中是这个函数steem.auth.toWif(account, password, role) ,以用户名和密码来生成私钥。这个是固定算法,生成的结果会一致。然后,再用这个私钥登录就可以啰。

具体代码如下,有兴趣的朋友可以参考下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
steem-login(){
//用私钥或密码登录
this.isLoading = true
let account = this.username
this.steem.api.getAccounts([account], (err, result) => {
if(result.length === 0){
this.isLoading = false
alert("用户不存在!")
}else{
//用户存在
let pubWif = result[0].posting.key_auths[0][0]
let privWif = this.password
let isvalid
//判断是私钥还是密码
let res = this.steem.auth.isWif(privWif)
if(res === true){
//是私钥
console.log(456, res, '是私钥!')
try{
isvalid = this.steem.auth.wifIsValid(privWif, pubWif)
}
catch(e){
isvalid = 'false'
}
if(isvalid === true){
this.isLoading = false
console.log(' Welcome.', account)
this.$store.commit('saveUser', {username: account, password: privWif})
this.$router.push({path:'/'})
}else{
this.isLoading = false
alert(`错误!请检查用户名和发贴密钥!`)
}
}else{
//是密码
console.log(458, res, '是密码')
//获取发贴私钥
let role = ["posting"]
let Wif = this.steem.auth.toWif(account, privWif, role)
try{
isvalid = this.steem.auth.wifIsValid(Wif, pubWif)
}
catch(e){
isvalid = 'false'
}
if(isvalid === true){
this.isLoading = false
console.log(' Welcome.', account)
this.$store.commit('saveUser', {username: account, password: Wif})
this.$router.push({path:'/'})
}else{
this.isLoading = false
alert(`错误!请检查用户名和密码!`)
}
}
}
})
}

This page is synchronized from the post: ‘SteemJs登录的逻辑 / 网络研习社#57’

链课手机端优化及更新

moochainphone.jpg

链课在样式方面是用的Bootstrap的框架,响应式的,对于不是特别复杂或是功能很多的网站,其实一站就可以了。在前端设计时只有调整下样式,就可以响应式的布局。也就是说,当电脑打开时会展示电脑端的样式,当用手机打开时会展示手机的样式。这比重新做个APP或是小程序要简单些。

在CSS样式中只需加上一段代码即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
@media only screen and (max-width:768px) {
h1{
padding-left: 1rem;
}
#content{
width: 95%;
}
.newtext{
width: 90%;
margin-left: 1rem;
}

}

关键是第一行代码:它会自动判断是不是手机端,如果是,则使用以下样式!

在做手机端优化时,也做了一些小更新:把封面图加上了,在其它前端(如steemit)加上了直达链课的链接……


This page is synchronized from the post: ‘链课手机端优化及更新’

周末影院:《火影忍者》,可以看一辈子的动漫

boruto.jpg

习惯了美剧地没完没了,动漫地没完没了也不差!

我都有点记不清是什么时候开始看《火影忍者》的,估计是在很久很久以前了。陆续的更新和灌水(说到灌水日本人也不差呢),其实真没有一集集看完,不过最后的大结局还是知道的。

你以为有大结局就结束了,那你就太天真了!这不,鸣人还没死,儿子就出来挑事了!《博人传》陆续地看了点,感觉虽然画质是上升了不少,不过故事却是越来越水了。鸣人好歹经常出个任务,耍个嘴遁啥的,博人纯粹就是闹剧–整一个中二少年!

看到更新到了139集,真心感到编剧不空易:这么烂的剧情和原画也亏你想得出来! 虽然不怎么好看,但是情节犹在,只是当初看剧的喜悦没剩多少啰。


This page is synchronized from the post: ‘周末影院:《火影忍者》,可以看一辈子的动漫’

Bitcoin SV飙车,Steem跟涨一波

steem.jpg

大家一直期待的比特币大涨好像提前结束了,反复震荡了不少次。老家伙没涨成,“儿子”–Bitcoin SV倒是飙车了!一天内好像近80%的涨幅了。就这样突突地窜到前7了!

Steem跟涨了一小波,不过感觉还有点上涨的空间,毕竟在这价位呆得太久了!


This page is synchronized from the post: ‘Bitcoin SV飙车,Steem跟涨一波’

大家都来体验下链课吧

moochain.jpg

https://moochain.net

昨天上线之后,试着上传了几门课,感觉还不错!

链课基本上是采用所见即所得地设计,基本上都可以快速简易地上手。以后要上传个视频之类的,就又多了一个选择了!

链课的视频存储采用的是IPFS方案,所以,用户上传视频得到的哈希值可以在任何支持IPFS的网关直接观看,比如这样:网关/视频哈希,例如:
https://gateway.ipfs.io/ipfs/Qmeva1H5PupnqVYuzP6pp6yU77VgPMgoTR6ZHkC4rUGdDJ

不过,IPFS的内容并不会主动向外广播! 换句话说,既使你上传了内容到IPFS网络,如果你的网关关闭了,你的内容在IPFS网络上也会是不可见的,除非你已经在别的网关访问过你的内容,也就是别的网关缓存过你的内容。至于IPFS号称什么星际文件,真没有这么神,不过就是文件托管而已。而且像视频这样的内容存起来真是费劲,并没有得到什么特殊的优化。

好了,百闻不如一试!


This page is synchronized from the post: ‘大家都来体验下链课吧’

链课,基于Steem和IPFS的区块链慕课平台

链课.jpg

https://moochain.net

链课,基于Steem和IPFS的区块链慕课平台,@lemooljiang创建。链课的数据存储在Steem区块链上, 视频存在IPFS网络中,前端则使用IndexedDB数据库。

链课是一个去中心化的应用,也是一个开放式的慕课平台! 每个人都可以很方便地发布课程和分享技能, 同时也可以快速地获取相关知识和得到解决问题的能力。

–哈,先把说明写完!

趁热打铁! 趁着开发完SteemJiang和星空笔记的当儿,对Steem和IPFS还比较熟悉的情况下,把以前的一个项目(网课)也搬上了区块链。

最近的使用心得是:区块链和数据库几乎没什么差别! 你MySQL玩得好,像区块链的开发也是得心应手的,当然区块链底层先不论。

平时我自己就录了挺多课的,最早期是在《百度传课》上,但没过多久,竟然停了!后来搬到《腾讯课堂》上。但是《腾讯课堂》诸多限制,也有点让人腻味。现在正好技术储备好了,保不自己开发一个应用呢?!

也许这是链课最早的心理需求吧,不过现在把它做出来并上线能用了,我还是挺开心的。当然,链课会是一个渐进式的开发,新的功能和想法会慢慢添加和完善。也希望大家能给我反馈,慢慢完善。


This page is synchronized from the post: ‘链课,基于Steem和IPFS的区块链慕课平台’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×