airdrop エアドロ Perena

 

2024-12-16 OK。今日の分は終わり。10かいスワップした。

今の時間は日本時間、11:46分。

24時間後にまたスワップしていこうかな。

 

引用ーーーーーー

ドキュメントには 「24-hour rolling period」 という表現がありましたね。これがヒントになります。

24-hour rolling period とは?
「24時間のローリング期間」 というのは、固定の時刻(例えば深夜0時)でリセットされるのではなく、 最後にアクションを起こした時点から24時間後 にカウントがリセットされる仕組みです。
具体的な挙動
今日10回のスワップを 例えば15:00(日本時間)に完了 したとします。
次にスワップが可能になるのは、 15:00以降の翌日 です。
注意点
固定リセット時間ではなく、個人ごとに24時間のカウントが異なる ため、次にスワップが可能な時間を自分で把握する必要があります。
最後のスワップ実行時間を メモしておく と便利です。

ーーーここまでーーー

 

2024-12-16 GPT4oさんに聞いて、スワップだけしてみることにした。とりあえず。

つまり、500ドルか。

まあ、ガス代も含めてもう少し送るかな。

引用ーーーーーーー

スワップによるポイント(ペタル)の獲得概要

  • 1スワップあたりのペタル: 0.1ペタル / 1ドル
  • 1回のスワップの上限: 最大 50ペタル
  • 1日のスワップ回数上限: 10回

1日の最大ペタル獲得量

1日の最大スワップペタルを計算すると:

50ペタル×10=500ペタル / 日50 \, \text{ペタル} \times 10 \, \text{回} = 500 \, \text{ペタル / 日}


1スワップで50ペタルを獲得するための金額

  • 0.1ペタル / 1ドル なので、50ペタルを獲得するには:

50ペタル0.1ペタル/ドル=500ドル\frac{50 \, \text{ペタル}}{0.1 \, \text{ペタル/ドル}} = 500 \, \text{ドル}

つまり、1回あたり 500ドル のスワップが必要です。


1日の最大資金量(10回分)

1日に最大ペタルを獲得するために必要な資金量(10回スワップする場合):

500ドル×10=5000ドル500 \, \text{ドル} \times 10 \, \text{回} = 5000 \, \text{ドル}


まとめ

  • 1日の最大ペタル獲得量: 500ペタル
  • 1スワップの最大金額: 500ドル(これで50ペタル獲得)
  • 1日最大の資金投入額: 5000ドル(10回スワップした場合)

注意点

  1. 手数料: スワップには手数料が発生するので、実質的なコストが増えます。
  2. スリッページ: 大きな金額をスワップすると、価格影響(スリッページ)が発生する場合があります。
  3. 資金効率: 単にスワップを繰り返すよりも、流動性提供(LP)による利回りや手数料収益も考慮した方が、長期的には効率的かもしれません。

スワップだけでポイントを最大化するなら 5000ドル/日 で500ペタルですが、手数料コストやリスクも考慮して戦略を立てるのが良さそうです!

ーーーーーーーーー

 

 

2024-12-14 solana wallet 接続。 Swapするかも ポイントは招待コードを使わせていただいた分は入っていました。

 

takaさんからの情報。

 


Backpac Wallet をつないで登録しました。

とりあえず後でSwapしてみるかもしれないです。

とりあえずここにアクセスして毎日スワップしてみようかな。

 

x(twitter) API test Like 取得

2025-04-10 コマンドメモ

https://twitter.com/i/oauth2/authorize?response_type=code&client_id={Client ID}&redirect_uri=http://localhost:3000&scope=tweet.read%20users.read%20like.read&state=state123&code_challenge=challenge&code_challenge_method=plain

ってこれ手作業でアクセストークン取れなかった。

 

from http.server import BaseHTTPRequestHandler, HTTPServer
import webbrowser
import requests
from urllib.parse import urlparse, parse_qs
import base64

# — 設定 —
CLIENT_ID = “YOUR_CLIENT_ID”
CLIENT_SECRET = “YOUR_CLIENT_SECRET” # ★注意: 本番環境では直接書かない
REDIRECT_URI = “http://localhost:3000”
SCOPE = “tweet.read users.read like.read”
CODE_VERIFIER = “challenge” # plain の場合
# ————

# Basic認証ヘッダー生成
auth_header = base64.b64encode(f”{CLIENT_ID}:{CLIENT_SECRET}”.encode()).decode()

authorization_url = (
f”https://twitter.com/i/oauth2/authorize?”
f”response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}”
f”&scope={SCOPE.replace(‘ ‘, ‘%20’)}&state=state123″
f”&code_challenge={CODE_VERIFIER}&code_challenge_method=plain”
)

print(“以下のURLにアクセスして認証してください:”)
print(authorization_url)
webbrowser.open(authorization_url)

# — ここから簡易サーバー —
class OAuthCallbackHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header(“Content-type”, “text/html”)
self.end_headers()
self.wfile.write(b”<html><body><h1>Authorization Callback Received</h1>”)

query_components = parse_qs(urlparse(self.path).query)
if “code” in query_components:
auth_code = query_components[“code”][0]
print(f”\nReceived authorization code: {auth_code}”)
self.wfile.write(f”<p>Code: {auth_code}</p>”.encode())
self.wfile.write(b”<p>Attempting to get access token…</p>”)

# — アクセストークン取得リクエスト —
token_url = “https://api.twitter.com/2/oauth2/token”
payload = {
“code”: auth_code,
“grant_type”: “authorization_code”,
“client_id”: CLIENT_ID, # PKCE(plain)でもClient IDが必要な場合がある
“redirect_uri”: REDIRECT_URI,
“code_verifier”: CODE_VERIFIER,
}
headers = {
“Content-Type”: “application/x-www-form-urlencoded”,
“Authorization”: f”Basic {auth_header}”
}

try:
response = requests.post(token_url, data=payload, headers=headers, timeout=10)
response.raise_for_status() # エラーがあれば例外発生
token_data = response.json()
print(“\nAccess Token successfully retrieved:”)
print(token_data)
self.wfile.write(f”<pre>{response.text}</pre>”.encode())
# ★★★★★
# ここで取得した access_token を使う
# 例: print(f”Access Token: {token_data[‘access_token’]}”)
# ★★★★★

except requests.exceptions.RequestException as e:
print(f”\nError getting access token: {e}”)
if e.response is not None:
print(f”Response body: {e.response.text}”)
self.wfile.write(f”<p>Error: {e.response.status_code}</p><pre>{e.response.text}</pre>”.encode())
else:
self.wfile.write(f”<p>Error: {e}</p>”.encode())

self.wfile.write(b”<p>You can close this window.</p></body></html>”)

# サーバーを停止させるためのフラグなど(簡易的な例)
global server
server.server_close() # すぐ閉じる
print(“\nServer stopped.”)

else:
self.wfile.write(b”<p>No authorization code found.</p></body></html>”)

if __name__ == “__main__”:
port = 3000
server_address = (‘localhost’, port)
server = HTTPServer(server_address, OAuthCallbackHandler)
print(f”Starting simple HTTP server on http://localhost:{port}”)
try:
server.serve_forever()
except KeyboardInterrupt:
pass
server.server_close()
print(“Server stopped.”)

 




import requests

# users.readスコープを持つアクセストークン
access_token = "YOUR_ACCESS_TOKEN"
headers = {"Authorization": f"Bearer {access_token}"}
url = "https://api.twitter.com/2/users/me"
response = requests.get(url, headers=headers)
if response.status_code == 200:
    user_data = response.json()
    print("あなたの数値ID:", user_data['data']['id'])
else:
    print("Error:", response.status_code, response.text)


import requests
access_token = "取得したトークン"
headers = {"Authorization": f"Bearer {access_token}"}
user_id = "あなたのユーザーID"
url = f"https://api.twitter.com/2/users/{user_id}/liked_tweets"
response = requests.get(url, headers=headers)
print(response.json())





saxoサクソバンク証券口座開設メモ

 

 

2021-06-17 13:17:25 申し込み完了

 

取り扱い商品数の多さと管理費の安さを期待して口座開設申し込みしました。

 

審査終了まで一ヵ月くらいかかるかもしれないようです。

 

一応比較のためにSBI証券のGDXの事を載せます。

ヴァンエック ベクトル 金鉱株ETF(GDX)

経費率(Total Expense Ratio)0.51 %

以下経費率のページ引用です。ーーーーーーー

※経費率とは、ファンドの平均資産残高に対する、運用その他の経費の比率(%)です。
※経費率は原則として毎年決算日に見直され、変動します。
※ファンドの現在の経費率は、目論見書に記載されている数値よりも低い、または高い可能性があります。

引用ここまでーーーーーー