//tips
//基本情報理解
線形リストのポインタとは、次のデータが格納されている場所を記憶しておく場所で、データの末尾に追加されるもの。
モンテカルロ法は、正方形の中に乱数を用いて座標を作成した点を生成し、試行を繰り返すことで、正方形に内接する円の内側と外側の点の個数比からΠを求めるもの。
CPUには命令実行時に利用する汎用レジスタのほかに専用レジスタも保有しており、スタックポインタはその一つで、LIFO後入れ先出し方式を利用したデータ構造であるスタックを利用する際に、スタックの大上段のデータを示すメモリのアドレスを保持する。
スタックは割り込み時のプログラムの一時退避場所として使われる。
//pitch deck
海外送金サービスTransferWiseの資料を見つけた。今はWISEというらしい。海外に行くときに導入したくて色々試したがその際には日本住所でのwallet機能・カードは認められていなかったので断念した。送金機能だけは利用した。素晴らしかったと記憶にある。
金融機関を通さずP2Pで、どこまで送金コストが抑えられるかのページがインパクトが大きかった。paypalとの比較部分をもう少しみたかったところではある。
現在はWISE以外にも海外送金サービスは出てきているよう。
https://www.pitchdeckhunt.com/pitch-decks/transferwise
//smart contract
まずは「SolidityとEthereumによる実践スマートコントラクト開発」を注文。電子書籍がなかったので配達を待つことになる。
本読んでも分からなそうな部分は動画で補足していく。
Dapp University:
https://www.youtube.com/channel/UCY0xL8V6NzzFcwzHCgB8orQ
ポイントになる部分を先に理解しておこうと探していたらweb3の理解がAPI開発に直結しそうなことがわかってきた。truffle, web3.jsはjavascript, Node.jsを使用しているとのこと。
参考ステップ:
https://zenn.dev/ozora/articles/solidity-learning-map
解説サイトを探していたら下記のものを見つけたので掲載。etherscanのcode:more optionからSolidity UML Diagramを選ぶことでプログラムの流れを可視化できるなどの最高な技も紹介されており勉強になった。
https://hide.ac/articles/yGimOSXRt
https://rubygarage.org/blog/ethereum-smart-contract-tutorial
過去に触ったdappの復習がてらremixを開き、hello worldする。
HelloWorldというcontractに、"Hello World!!"という文字列をreturnする関数を作る。
まずはpragma solidity ^0.4.23;とバージョンを記載。
これはコンパイルするバージョンなので後でこの0.4.23を選ぶことになる。バージョン変更で記載がかなり異なるようなのでここはきちんと気にする必要があるとのこと。
pragma solidity ^0.4.23;
contract HelloWorld {
function hello() public pure returns (string) {
return "Hello World!!";
}
}
コンパイラを^0.4.23で設定し、コンパイル。
これを
Environment:JSVM(London)
Acount:初期設定
でdeploy。
Deployed Contractsの中のHello World at…を展開するとhelloボタンが出てくるのでクリックすると
0:string: Hello World!!
が表示された。ふむ。懐かしい。全く覚えてなかった。