STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么?


mssql STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么? I.T. SteemIt 数据库

MSSQL Database

@nationalpark 兄在 这篇帖子 里列出了被删除评论或者文章所存的STEEMSQL 语句. 老实说, 我很久之前也注意过这个表, 但是当时还在纳闷说怎么没有列出我比较关心的, 被删除内容的原文. 这个 TxDeleteComments 意思就是被删除的评论表, 结构如下:

steemsql-txdeletecomments-table STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么? I.T. SteemIt 数据库

steemsql-txdeletecomments-table

我把我的ID代了进去, 发现我曾经删除过5个评论, 评论的 permlink 以re- 开始.

steemsql-txdeletecomments-linqpad STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么? I.T. SteemIt 数据库

steemsql-txdeletecomments-linqpad

我们还注意到, tx_id 就是 Transactions 表的外键.

transactions-table-steemsql STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么? I.T. SteemIt 数据库

transactions-table-steemsql

这个Transactions 表应该存着STEEM 区块链上所有发生的动作, 包括转帐, 帐户更新, 投票等. 同时Transactions 这个表可以通过 block_num 这个外键联结到 Blocks块表.

steemsql-blocks-table STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么? I.T. SteemIt 数据库

steemsql-blocks-table

然后我们很容易的把这三个表串起来:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
select 
    TxDeleteComments.tx_id, 
    TxDeleteComments.permlink,
    TxDeleteComments.timestamp,
    Transactions.block_num,
    Transactions.transaction_num,
    Transactions.ref_block_num,
    Transactions.ref_block_prefix,
    Transactions.expiration,
    Transactions.type,
    Blocks.previous,
    Blocks.witness,
    Blocks.witness_signature,
    Blocks.transaction_merkle_root
    
from 
    TxDeleteComments, 
    Transactions, 
    Blocks 
    
where 
    TxDeleteComments.author = 'justyy' and
    TxDeleteComments.tx_id = Transactions.tx_id and
    Transactions.block_num = Blocks.block_num
select 
    TxDeleteComments.tx_id, 
    TxDeleteComments.permlink,
    TxDeleteComments.timestamp,
    Transactions.block_num,
    Transactions.transaction_num,
    Transactions.ref_block_num,
    Transactions.ref_block_prefix,
    Transactions.expiration,
    Transactions.type,
    Blocks.previous,
    Blocks.witness,
    Blocks.witness_signature,
    Blocks.transaction_merkle_root
    
from 
    TxDeleteComments, 
    Transactions, 
    Blocks 
    
where 
    TxDeleteComments.author = 'justyy' and
    TxDeleteComments.tx_id = Transactions.tx_id and
    Transactions.block_num = Blocks.block_num

得到的信息是不是有点多? 就问你怕不怕.

show-delete-posts-query STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么? I.T. SteemIt 数据库

show-delete-posts-query

当然, 还是没有得到我们所关心的, 是不是根据这些HASH值(tx_id, block_id 等)就能到见证人机器上恢复这些数据(理论上)?

英文: STEEMSQL Tutorial – Can we Really Recover Deleted Comments/Posts on STEEMIT?

STEEM SQL 系列教程

GD Star Rating
loading...
本文一共 474 个汉字, 你数一下对不对.
STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么?. (AMP 移动加速版本)
上一篇: 说说单点故障 Single Point Failure
下一篇: 也许在STEEMIT投放 Viglink广告可以行得通

扫描二维码,分享本文到微信朋友圈
eed9ccc0899c41410bee5bb0093de2b9 STEEMSQL 系列之 STEEMIT真的可以恢复删除的文章或评论么? I.T. SteemIt 数据库

评论