見出し画像

トランザクションでラブレターを送ろう(暇人用)

こんにちは。彼女いないマンのなっとうです。最近彼女が欲しくなってきたのでラブレターを送ろうと思いついでにnoteにしようと思います。
でもツイッターで見かけた仮想通貨女子にどうやってラブレターを送ろう。DMはださいし、かといって電話番号や住所はしらないし.…
そうだ!彼女の持っているアドレスにトランザクションでラブレターをかこう!

トランザクションのどこに文字が反映されるのか

https://testnet.bscscan.com/tx/0x8cecf72aa357c45c6b7c5429b8933e8e6d54095b72a0e9e7336af5c514853ac8

これはさっき作ったアドレスで試しに自分あてにトランザクションを発行した奴ですがここのinputDataの文字列をutf-8に変換すると表示されます。
今回の場合は「ここに表示されるよ!」って内容を書いてます。

ソースコード

from web3 import Web3

 #送金チェーンのRPCを入力(今はbsctestnet(本気ならもちろんETHですよね?))
RPC = 'https://data-seed-prebsc-1-s1.binance.org:8545'
web3 = Web3(Web3.HTTPProvider(RPC)) 
nonce = web3.eth.get_transaction_count(my_address)

my_address = web3.toChecksumAddress('0x547B4507f1e6E3d4d424fa78164a28fF5dA75f99')
my_key = '自分のアドレスのprivateKey'

to_address = web3.toChecksumAddress('ラブレターを送る先のアドレス')


my_transaction = {
    'to':to_address,
    'chainId':97, #チェーン変えたらIdも変わります。
    'gas':100000, 
    'gasPrice':web3.eth.gasPrice,
    'nonce':nonce,
    'data':'この中にラブレターを書こう!'.encode('utf-8')
}
signtransaction = web3.eth.account.sign_transaction(my_transaction, my_key)
transaction_hash = web3.eth.send_raw_transaction(signtransaction.rawTransaction)
print(transaction_hash.hex())

ここまできたらあとは好きな仮想通貨女子のアドレスを手に入れるだけ!!
幸い手元に知ってる仮想通貨女子のアドレスがあったので(なんで知ってるかと聞かれたらモテる男のたしなみと答えておきます)彼女にラブレターを送りたいと思います。(本人のプライバシーのため彼女のアドレスはわからないようにします。)

ラブレターの本文

文才がないのでぐぐります。。。
シェイクスピアの詩とかよくね!?ってことでそのまんま引用します。

'data':'''君を夏の日にたとえようか。
いや、君の方がずっと美しく、おだやかだ。
荒々しい風は五月のいじらしい蕾をいじめるし、
なりよりも夏はあまりにあっけなく去っていく。
時に天なる瞳はあまりに暑く輝き、
かと思うとその黄金の顔はしばしば曇る。
どんなに美しいものもいつかその美をはぎ取られるのが宿命、
偶然によるか、自然の摂理によるかの違いはあっても。
でも、君の永遠の夏を色あせたりはさせない、
もちろん君の美しさはいつまでも君のものだ、
まして死神に君がその影の中でさまよっているなんて自慢話をさせてたまるか、
永遠の詩の中で君は時そのものへと熟しているのだから。
ひとが息をし、目がものを見るかぎり、
この詩は生き、君にいのちを与えつづける。
                                 あなたのなっとう'''.encode('utf-8')

よし完成!!

受け取れ!俺の気持ち!!
(なおこのトランザクションラブレター相手にある程度の知識が必要なうえにSCANでちゃんと逐一自分のアドレスを確認する人じゃないと余裕で気づかないので想いを伝える難易度は非常にハードモードとなっております。経験豊富なプレイボーイ以外は別の方法を使いましょう。(なおなっとうは童貞)


この記事が気に入ったらサポートをしてみませんか?