Closed8
スマートコントラクトを書き始めたので、Solidityの文法や周辺知識を整理する
スマートコントラクトの記載手順
①contract名を記載
②contractに必要な変数を宣言
③処理内容の記述
↓↓↓
④コンパイル:EVM
⑤デプロイ:Debugで契約ステータスを見ることができる
※コンパイル通したら、↓Publish on Ipfsとでてきた。
- Ipfs
- 確かGETメソッドで特定情報のみを取得するリクエスト方法だったと思う。
- 下記資料を参考にどんなもんか理解しよう
- https://speakerdeck.com/puttyo__/what-is-ipfs
- wei
- etherの最小単位
文法整理
- constructor()
//最初にデプロイしたタイミングで実行される
constructor() {
}
- payable
- ethを受け取ることができるようになる
- https://qiita.com/ryu-yama/items/4c37d5ff0fbc5364e569
- modifier
- その関数が実行される前に修飾された関数が実行される
- https://qiita.com/ryu-yama/items/20b504f02319325d3ee3
- address
- ウォレットやコントラクトのETH送金先を示す型を指す。solidityは静的型付け言語であるため最低限の変数型は抑えておくこと
- https://daiki-sekiguchi.com/2018/07/13/ethereum-solidity-basic-data-type/#address
- require
- 入力バリデーションの一つで、入力された値がfalseの場合は例外をthrowする。具体的に言うと、conditionパラメータがfalseを返すと、contractを停止し、契約状態を実行前に戻す。
- https://y-nakajo.hatenablog.com/entry/2018/01/10/151544
- mapping
- mapping型は、mapping(_keytype ⇒ _valuetype) 構文で宣言を行う。
- msg.sender
- 関数を呼び出したスマートコントラクトのアドレスを参照できる。
- https://note.com/hanawa11ify/n/ndeeefb946a43
- event
- バックエンド処理となるスマートコントラストから、フロントエンドのクライアントに渡すメッセージを扱う際に使う。これは、クライアント本位で処理を考える必要がある、クライアント情報がなければ処理が書けないので注意。
- https://qiita.com/hakumai-iida/items/3da0252415ec24fe177b
//送金関数(誰から誰にどれくらい)
event SendMitanCoin (address from, address to, uint amount)
- emit
- トランザクションの出力結果を実行する際に必要
- https://qiita.com/village/items/62a92db818a7f819d343
emit SendMitanCoin(msg.sender, receiver_MitanCoin, amouont_MitanCoin);
Solidityにおけるアクセス制限
- private
- 定義されたコントラクト内のみで使用可能👉継承した子コントラクトではprivate関数は使用できない
- public
- コントラクト、子コントラクト、外部からの呼び出しが可能
- publicをcontractに付随させることで、他ファイルのcontractから呼び出すことが可能になる。
- internal
- 定義したコントラクト、子コントラクトからのみ呼び出し可能
- external
- 外部からのみ呼び出し可能
( ..)φメモメモ
ほとんどのSolidity初心者はCryptZombiesを触る。
( ..)φメモメモ
コンストラクターとしてコントラクトの名前を使用することは非推奨であるため、下記は不可
contruct Coin {
constructor coin() {
!!!これはできないのです!!!
}
}
( ..)φメモメモ
- ミント
- NFTを新たに発行し、NFTマーケットプレイスに出品、オンチェーン状態にすること
- ステーキング
- 対象の仮想通貨を保有しブロックチェーンのネットワークに参加することで、対価として報酬が貰える仕組み
- なんどもDeFiに同じ送金や入金などの取引があるとクールじゃないのでまとめる必要がある
- テザー(USDT)
- 価格変動の起こりにくいステーブルコインとして注目を集める
- ビットコインなどほかの仮想通貨の値動きが荒れている局面で、避難先として扱われている
- マルチシグが実装されることで安全性が向上
- ドル価格と等価
- マルチシグ
- 仮想通貨(例:イーサリアム)にアクセスする際に、必要なPWを複数作成して分割管理することで、セキュリティ対策を行う対策のこと。
- https://zuu.co.jp/media/cryptocurrency/usdt
- decimal=10進数
( ..)φメモメモ
- トークン
- 所有権:ものを買ったり売ったり使ったりできる権利
- ERC-20
- ファンジブルを作成する際に扱う規格のことファンジブルとは相互交換可能なトークンのこと(使われ方としては、楽天ポイントや航空機のマイル、通貨など)
- ERC-721
- これが、NFT
- 非代替性トークンのこと
このスクラップは2022/05/28にクローズされました