read.cash Log in
A@Ayukawayen more from that month

在Rinkeby鏈上部署了幾個跟日本姓名有關的合約 一個是4096個姓氏: https://rinkeby.etherscan.io/address/0x4054534975d8d221c59e0df325855ce3a6391a44#readContract 一個是1024個女性名字: https://rinkeby.etherscan.io/address/0x64905040F3032549EBaC6d72da711cF5fFA17e00#readContract 一個是編碼轉文字: https://rinkeby.etherscan.io/address/0xc4A688f832627DDeFF42E5346daD10A0df9879b6#readContract 原始碼都上傳了所以可以直接在etherscan的界面上呼叫,也可以在自己的合約裡呼叫。 姓氏合約的 nameCodeOf(uint index) 函式,傳入一個整數取回一個uint256格式的姓氏碼,每4096一個循環(也就是傳入4097和1的結果會一樣);然後將此uint256傳入第三個合約的 decode(uint code) 函式,取回兩個字串,第一個是日文,第二個是羅馬拼音。 例: nameCodeOf()傳入907會取得2822522107923465,此數傳入decode()會傳回 "\u8302\u91ce" 及 "Shigeno" , 前者即為"茂野"。 名字合約同樣有 nameCodeOf(uint index) 函式,使用方式與姓氏合約相同。 往 0xA8Dfe14f618c6B10d8250542Ac998Fd6eA521Acd 丟一個0 ETH的交易可以抽一個名字,不過gas要設高一點,220,000以上比較安全。 可以在 https://testnets.opensea.io/ 上看,不過有時候會無法顯示。 https://rinkeby.etherscan.io/address/0xa8dfe14f618c6b10d8250542ac998fd6ea521acd 姓氏資料的來源是 日本姓氏語源辞典: https://name-power.net/ 我整理了一份讀音不重覆的資料,有九萬多筆,然後挑出32768筆,但32768筆丟上鏈有點過火,就再挑了一份4096筆的丟上鏈。32768筆的在鏈下使用。 挑選的主要依據是人數等級 (原網站有分成七級)。4096筆的都是等級五以上。 名字資料的來源是 https://5go.biz/sei/cgi/ninki2_3.htm 這裡有文字+讀音的前1000名、讀音的前1000名、和文字的前1000名, 前兩份資料合起來有1007個不重覆讀音,再去找對應漢字。另外再找了17個名字湊到1024個。 p.s. 丟1024個名字到鏈上需要大約5.8M gas。

2 comments

Log in to join in Reading is open to everyone. Replying needs an account.