作者:李凤山(信聚元宇主理人)
引言:为什么需要链上身份?
在Web3世界,身份不再由中心化平台授予,而是由私钥和链上行为定义的可信节点。2026年3月3日,我将自己的布道誓言永久写入以太坊,形成了我的链上创世块。这一行为不仅宣告了我的立场,也为所有技术开发者提供了一个极佳的实践案例——如何将任意文本数据通过以太坊交易永久存证。
本文将基于我的真实交易哈希 0x6001d704b21d70be830e3c85411450f7e47859ab99d81cfcb89dede3dbbef2fe,详细拆解文本上链的全过程,包括Hex转换、交易构造、Gas计算,以及最终的链上验证。无论你是Web3新手还是开发者,都可以通过本文掌握这一核心技能。
第一步:准备工作
要将文本写入以太坊,你需要:
· 一个以太坊钱包:如MetaMask、imToken等,用于发送交易和管理私钥。 · 少量ETH:用于支付Gas费。本文案例消耗约0.0000065 ETH(当时价值0.01美元),当前主网拥堵时可能需要0.01 ETH左右。 · 文本内容:你想要永久存证的信息,可以是誓言、声明、合同、甚至是一首诗。
我的文本内容是“李凤山布道Cococat·链上创世块”全文(约400汉字),你可以根据自身需求调整。
第二步:将文本转换为十六进制(Hex)
以太坊交易的data字段只能接受十六进制字符串(以0x开头),因此需要先将文本转换。
方法一:使用在线工具(简单)
访问 www.duplichecker.com/text-to-hex… 等工具,粘贴文本,点击转换,即可得到Hex字符串。注意选择“UTF-8”编码,并确保结果以0x开头。
方法二:使用JavaScript代码(开发者适用)
const text = "你的文本内容";
const hex = '0x' + Buffer.from(text, 'utf8').toString('hex');
console.log(hex);
方法三:使用Python代码
text = "你的文本内容"
hex_str = '0x' + text.encode('utf-8').hex()
print(hex_str)
我的案例Hex(部分):
0xe69d8ee587a0e5b1b1e5b883e98193c20b436f636f63617420c2b720e993bee4b8...
完整Hex长度约1200字符,你可以在Etherscan交易页面的Input Data字段查看。
第三步:构造带数据的以太坊交易
以太坊交易可以附带任意数据,即使转账金额为0。核心操作是在钱包中填写:
· 接收地址:填写你自己的钱包地址(即“转账给自己”)。 · 金额:0 ETH(我们存的是数据,不是转账)。 · 附加数据:粘贴上一步得到的Hex字符串。
以imToken为例(其他钱包类似)
- 打开imToken,进入以太坊账户,点击“转账”。
- 在“收款地址”栏粘贴自己的地址。
- “数量”输入 0。
- 点击“高级选项”或“附加数据”(通常在页面底部或右上角菜单)。
- 在“数据”输入框中粘贴Hex字符串(确保以0x开头,无换行)。
- 系统会自动计算所需Gas费,确认无误后点击“下一步”。
- 输入密码,等待交易上链。
注意事项
· Hex字符串必须连续,不能包含空格或换行,否则会报“data参数不正确”。 · 如果Hex过长,Gas费会相应增加。我的400汉字Hex约1200字节,Gas消耗约21000 + 68 * 1200 = 约102600 Gas单位(参考值)。 · 建议在Gas Price较低时操作(如周末),可降低费用。
第四步:Gas计算与费用优化
Gas费 = Gas Limit × Gas Price。
· Gas Limit:交易执行所需的最大Gas单位。普通ETH转账固定21000,但带数据的交易需要额外Gas,计算公式为:21000 + 68 × 数据字节数(数据每字节68 Gas)。 · Gas Price:你愿意支付的每单位Gas价格(以Gwei为单位),由市场供需决定。
我的交易Gas明细
· 数据大小:约1200字节 · Gas Limit:21000 + 68 * 1200 = 102600 · Gas Price:当时约25 Gwei(1 Gwei = 10^-9 ETH) · 总费用:102600 × 25 × 10^-9 = 0.002565 ETH,实际支付0.0000065 ETH(可能网络空闲或使用了Gas费优惠)。注意:实际费用因网络拥堵而异,请以钱包估算为准。
优化建议
· 在 ETH Gas Station 或钱包内置Gas建议中选择“标准”或“慢”模式,可降低费用。 · 如果数据过大,可考虑压缩(但本文示例400汉字已足够小)。
第五步:验证链上数据
交易成功后,你会得到一个交易哈希。我的哈希是:
0x6001d704b21d70be830e3c85411450f7e47859ab99d81cfcb89dede3dbbef2fe
在Etherscan验证
- 访问 etherscan.io 并粘贴交易哈希。
- 在交易详情页找到 Input Data 字段。
- 点击 「Decode」 或 「View UTF-8」,即可看到原始文本内容(中文)。
你也可以直接访问我的交易页面体验: etherscan.io/tx/0x6001d7…
验证要点
· 交易状态:必须为“Success”。 · Input Data:解码后应与原文一致。 · 发起地址:确认是你自己的地址(证明是你本人操作)。
第六步:链上身份的意义与实践价值
通过上述操作,你不仅学会了技术,更获得了一个不可篡改的数字身份证。这个哈希将伴随你终生,任何质疑你立场的人,都可以通过它验证。
应用场景扩展
· 版权存证:将原创文章哈希上链,证明创作时间。 · 合同签署:双方将合约文本上链,作为不可抵赖的证据。 · DAO宣言:组织将共识规则写入区块链,透明可信。
结语:邀请你加入链上身份实践
我的创世块已经永存以太坊,但我的布道才刚刚开始。如果你也想为自己立一个链上誓言,或者对Web3技术有疑问,欢迎关注我的公众号/视频号「信聚元宇」,加入社群共同探讨。
记住:在区块链世界,你不需要信任我,只需要验证我。
交易哈希:0x6001d704b21d70be830e3c85411450f7e47859ab99d81cfcb89dede3dbbef2fe Etherscan链接:etherscan.io/tx/0x6001d7…
(本创世块同步存证于蚂蚁联盟链,哈希:d70541b692df0af2c8a7b2c7999d4e9374a8dffddd5c4e0e2d85cf8d9648e561)