刚刚看到这篇帖子:
- 強烈要求Steemit 增加草稿箱功能 Suggest Steemit develop Drafts funtion
作者是因为微软的WINDOWS强制更新,导致电脑重启,丢失内容。
读罢颇有感触,刚开始用steemit的时候,steemit UI远远没有目前这么稳定,经常遇到写到一半,突然间卡住,然后浏览器崩溃所有内容丢失的人间惨剧。虽然最近几个月几乎没有发生这样的情况,但是我现在依旧保持这样一种习惯,写贴的时候开着记事本,写了一段后就复制一下,保存到记事本中。所谓: 一朝被蛇咬,十年怕井绳,大概说的就是我这种心态吧。
STEEM/STEEMIT在不断完善,这个有目共睹,比如现在的图片服务器,就是以前所没有的。而第三方APP,如ESTEEM啥都已经包含了草稿箱功能,不同客户端的竞争会日趋激烈,基于STEEMIT的应用也会越来越好。
好了,言归正传,都哪些情况会导致内容丢失呢?又该如何避免。
断电、电脑崩溃重启、浏览器异常退出等
使用STEEMIT编写文章的时候,文章内容是被保存到浏览器本地存储的,比如你在一个窗口编写文章,然后在开一个新窗口进入到编写文章,文章内容会自动同步的。甚至中途关掉编辑页面,再重启打开,内容也依然还在。如果你没有使用隐私模式或者设置退出后清空所有记录,那么你关闭浏览器,再次打开,内容也还在。
但是这并不包括各种可能发生的异常情况,或者你浏览器有设置退出后清空所有数据。
不小心用其它文字覆盖
还有一种情况,写着写着,一不小心都删除了,或者不小心复制点啥内容覆盖了所有文章。那么自求多福吧,steemit的保存机制不会帮你回复任何内容,它会忠实的执行你的操作:)
发送成功后文章消失
这种情况很极端,大家平时几乎不会遇到,但是我遇到过几次。我明明给留言的朋友回复了很长一段内容,然后也发送成功了,有时候甚至看到显示了,但是过会再瞧,内容消失不见了。只好重新重头敲起。但是心情一时一变,写好的内容没了,有时候再也不想重写了。
对于上述三种情况,我的做法上边已经说了,就是用记事本随时保存,甚至发送成功后也不要马上删除。过几分钟内容还在,那么基本就安全了。
文章写成功了,也提交上去了,不小心错误编辑
这种情况很常见,尤其是对于很长的文章,因为编辑文章时由于网速等诸多因素,可能文章还没加载完成,这时候再编辑(修改标题、标签等)并提交,就可能用截断的文章覆盖掉原文。
如果你的记事本还没有被删除,恭喜你。
如果被删除了,怎么办呢?
其实steem区块链的好处之一就是你做的一切操作都在块上。发表文章作为一个操作存在在块上,编辑文章也是一样。所以通过读取区块链的数据。就是可以找回到原文的。
但是怎么知道操作在哪个块上啊?这个时候可以用
get_account_history
可以获取账户操作记录,然后从这些记录中分析出发帖的操作,读出所处区块
然后用:
get_block
读取对应区块数据,从中在筛选出文章的数据。
假设我都出了区块数据,那么Python 读出文章数据的参考代码如下(仅供参考哦):
for tx in block['transactions']:
for op in tx['operations']:
if op[0] == 'comment':
if op[1]['author'] == 'oflyhigh':
print(op[1]['body'])
break
是不是有些复杂,我觉得也是
steemit上有大神级人物做了便利的工具,来做这件事:
可以很方便的读取文章历史纪录:
https://phist.steemdata.com/
当年(四个月以前)为了研究一下这个到底是咋做的,我还特意写了一篇文章
来聊聊读取帖子的修改历史
感兴趣的朋友可以随便去瞧瞧哦
另外还有一种方式,就是通过steemd翻操作记录,慢慢翻,总有翻到的时候:)
结论
发帖、编辑帖子有丢失内容的风险,为了避免呕心沥血的巨作突然丢失,和我一样用记事本吧:)
是不是100%解决了呢?标题党一把,勿怪哦
文中插图来自bing 搜索
感谢阅读
水平有限,欢迎大家一起讨论,如有谬误,烦请指正
欢迎upvote、resteem以及 following me @oflyhigh 😎
请将我设置成为你的见证人投票代理, 访问 https://steemit.com/~witnesses