2022-01-01から1年間の記事一覧
前回はPolygonでデプロイを行った。 tenomeuonome.hateblo.jp 今回はデプロイ後の操作をRemix以外で行うような設定を行う。 参考サイト crypto-code.jp >Verifyとは デプロイしたコントラクトの内容を検証(Verify)することで、 EtherScanやPolygonScan上で…
前回はテストネットワークでデプロイ・ミントを行った。 tenomeuonome.hateblo.jp 今回はPolygonネットワークにデプロイを行う。 基本的な手順は同じ。 デプロイ Matic Mainnetを選択する。 ネットワーク番号が137になっていることを確認。 RemixのTransact…
discordのbot MEE6に課金する機会があったので記録しておく。 課金後、機能の確認。 課金手続き MEE6のダッシュボードからアップグレードのページへ LifeTime(無期限)を選択 今回の一番の目的はリアクションロールを複数つけること。 英語が理解しきれてな…
前置き 前回、uptimerobotを使用してbotを常時起動する設定を行った。 が、やはり30分で落ちてしまった。 原因 サーバとクライアントに分けて起動し、 サーバのURLに対してuptimerobotから定期アクセスさせる必要がある。 サーバモジュール server.pyを作成…
前置き bot開発にオンライン統合開発環境Replitを使っている。 ローカル環境を用意しなくていいのでどこでも使えて便利なのだが、 サービスを起動してからしばらく外部からのアクセスがないと、サービスが落ちてしまう。 これを外部のサービスを使ってサービ…
件名のとおり。一定期間おきに処理を実行する。 インポート from discord.ext import tasks 関数の定義 ↓は10秒おきに実行する ----- @tasks.loop(seconds=10)async def send_message_every_10sec(): dt_now = datetime.datetime.now() await channel_sent.s…
前回のプログラムではbotのTOKENをプログラム中に直書きしていた。 botプログラムを公開(Public)した場合何かと危険なので、 環境変数に記述するようにする。 Secrets項目設定 Tools→Secretsを選択 keyに変数名、valueに値を記述して「Add new secret」ボタ…
以下のプログラムを実行してみた。 main.py ----- import discord TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXX'CHANNELID = 999999999999999 Intents = discord.Intents.default()Intents.members = Trueclient = discord.Client(intents=Intents) @client.eventasyn…
前置き 所属するdiscordコミュニティ「tomajoDAO」でクラウドファンディングをNFTで行う企画が進行している。 小額のNFTを複数枚発行して販売することで支援を集める。 個々のNFTは同じ画像を使用する。 openseaでNFTを販売する場合、通常は1枚ずつ画像をア…
前回まではローカル環境でPythonを動作させていた。 tenomeuonome.hateblo.jp だが、24時間自宅のPCを起動させておくのは厳しいので、クラウドIDEを使用する。 参考サイト paiza.hatenablog.com クラウドIDE【Repl.it】 replit.com 接続してアカウント登録。…
前回 Botを作成して、最低限の設定後、実際にサーバにインストールするところまで試した。 tenomeuonome.hateblo.jp インストールだけでは何の機能も無いので、機能を追加していく。 追加にはPythonを使用する。 Discord.pyのインストール py -3 -m pip inst…
ジェネラティブNFTの学習もままならないのに、 Discordのbotづくりを軽率に試してみようかなと。 まずは決められた文言に返信するbotから。 参考サイトは↓ gafuburo.net qiita.com Botのアカウント作成 discordapp.com アプリケーション名(bot名)を入力し…
今回もDiscordのbotの話。 前回、MEE6のレベル機能を導入した。 で、ある程度のレベルに達したらロールを付与して、そのロールを持っていたらURLを書き込めるようになる。 これは、新規ユーザがむやみにURLを貼らせないようにするため。 レベルアップ時に自…
前置き 先日Discordにbot MEE6を導入した。 目的はいくつかあるが、1つは認証ロール。 サーバに参加した時に、認証ボタンを押さないと他のチャンネルが見えない場合があったら、そのサーバは認証ロールの設定がされている。(MEE6とは限らない) その手順に…
ちょっと前に、DiscordでCollablandというBotを使用して、 NFTホルダーのみがアクセスできるチャンネル設定を記事にした。 tenomeuonome.hateblo.jp この中でCommandCenterで、ロールに対して対象となるNFTを設定したのだが、 設定が誤っていたのでここで訂…
前回は生成した画像データをPinataというサービスにアップロードした。 アップロードで取得したアドレスからメタデータを作成し同様にアップロードした。 tenomeuonome.hateblo.jp 今回はNFT発行やMintのルールを定義する「コントラクト」の作成を行う。 目…
前回、ジェネラティブ画像作成のための設定と、実際の生成までテストを行った。 tenomeuonome.hateblo.jp 今回は生成した画像をアップロードする。 一緒にメタデータもアップロードする。 今回も、というかずっとこちらのサイトを参考にというかなぞってます…
前回 ジェネラティブNFT開発の準備として環境構築を行った。 tenomeuonome.hateblo.jp 今回も以下のページを参考にしていきます。 (誰でもできる!ジェネラティブNFT開発 第2章) crypto-code.jp 目次 1.プロジェクトの初期設定 VSCodeでArt Engineのプロ…
ジェネラティブNFT発行できるように勉強していきます。 参考サイトはこちら crypto-code.jp まずは環境構築から。 目次 1.必要になる開発環境 HashLips Node.js Visual Studio Code Remix - Etherium IDE Pinata 2.HashLipsプログラムのダウンロード 3…
NFTといえば、通常は購入したものを転売して二次流通することができる。 これにより転売のロイヤリティから利益を得られる。 だが、最近提唱された新しいNFTのカタチとして「Soul Bound Token」というものがある。 nft-japan.works これは、一度受け取ったら…
前置き ミントサイトを作りたい。 ググっていたら以下のページが参考になりそう。 nf-times.com thirdwebを使うらしい。以前ちょっと触ってみたけど1ミリも理解できず。 今回は参考ページを元にやっていきたい。 目次 前置き ウォレットの準備 ガス代 コレク…
はじめに コミュニケーションツールにDiscordというのがあって、 管理者がサーバを自由に作成でき、 メインはチャットでの書き込み、音声でのやり取りもできる。 テーマごとにチャンネルを分けて、話題の管理も可能。 discord.com 目的 今回は、特定のNFTを…
大事なNFTをハッキングから守るためにできることの一つがrevoke。 目次 参考サイト approveとは approveの初期設定 revoke revokeしてみる ウォレット接続 NFTsを選択 見知らぬNFTがhiddenに 参考サイト omochi-bigaku.com www.youtube.com おもち先生の声が…
今回から音声による読みあげ機能(キャストと呼ぶ)を実装していく。 仕様はこんな感じ。 テーマのタイトル、テーマの内容、返信の内容について音声を読み上げる。 投稿した本人はキャストできない。 複数のユーザがキャスト投稿できる(いずれ承認制にする…
前回、お題機能の実装を完了。 音声機能に入る前に、IPアドレスでのアクセス制御を組み込む。 Botによる書き込みが見られるようなので。 参考サイト leben.mobi ミドルウェア作成 ----- php artisan make:middleware BlockIpAddressMiddleware ----- ↓に作成…
前回、管理画面でのお題登録、削除を実装した。 今回はトップ画面にお題を表示する。 Modelに関数追加 現在日時が有効期限を過ぎていないお題のみ取得する関数 ----- public function get_themes_limit(){ $themes = Theme::select([ 't.id as theme_id', 't…
前置き 前回調整周りの作業を行った。 今回からいよいよ音声機能へーと予告していたのだが、 もう1機能追加したい。 それがはてなブログにもある「お題」機能。 サイトに何か書き込んでと言われても、おおまかなお題がないと、 書き込んでもらいにくいので…
前回はパスワードを忘れた際の画面のデザイン調整、日本語化を行った。 目次 パスワードリセット用メールの文言を日本語化 書き込んだユーザのIPアドレスを記録 migration model Controller 連続アクセスの抑制 パスワードリセット用メールの文言を日本語化 …
ちょっと空いてしまいましたが、開発してた投稿サイトの構築を再開。 tenomeuonome.hateblo.jp 友人にサイトを紹介して、そこでテーマを投稿してほしい、 要はサクラになってほしいとお願いしたのですが。 しばらくしてこんな連絡がきた。 「パスワードが違…
スマートコントラクトを構築するための言語solidity 言語をブラウザで遊びながら学ぶCryptoZombie 前回はLesson.3 Chapter.5まで。 tenomeuonome.hateblo.jp 続きやっていきます。 目次 Lesson.3 Chapter.6 structを引数として渡す Lesson.3 Chapter.7 Lesso…