落ちこぼれ修士(卒)のこぼれ話

マンガ・アニメ・ゲームから科学的なことまで、国立大学の理学修士卒の落ちこぼれ修士の雑記用ブログ

『SolidityとEthereumによる実践スマートコントラクト開発』で詰んだところと解決法

OS: Window 10

エディタ: VSCode

参考①
note.com

参考②
zenn.dev

参考③
zenn.dev

VSCodeのターミナルをUbuntuにする

qiita.com

Openzeppelinからimportする

4章, 6章での詰みポイント

6章P108 Ownable.solのインポート

書籍中の記述

npm install openzeppelin-solidity --save

これだとうまくいかない
下のノートに従う
note.com

まずアンインストールした

npm uninstall openzeppelin-solidity

npmを初期化

npm init

ノート通りに3.4.1をインストール

npm install openzeppelin-solidity@3.4.1

そしてFundraiser.solのimportの部分の記述を書き換え。

import "openzeppelin-solidity/contracts/access/Ownable.sol";;

またTruffle-config.jsを下のように書き換えてsolidityのバージョンを決定した

const path = require("path");

module.exports = {
  contracts_build_directory: path.join(__dirname, "client/src/contracts"),
  networks: {
    develop: {
      port: 8545
    }
  },
  compilers: {
    solc: {
      version: "0.6.0"
    }
  }
};

これでtruffle testが通った.

P123 SafeMathをimport

SafeMathとOwnableのSolidityのバージョンが違うらしく, なぜか上手くいかなかったので,
書籍の記述

import "openzeppelin-solidity/contracts/utils/math/SafeMath.sol"

まずopenzeppelin-solidityをアンインストールした

npm uninstall openzeppelin-solidity

OpenZeppelinのページを見て、新しいバージョンをインストールをした
github.com

npm install @openzeppelin/contracts

node_modulesに@openzeppelin/contracts以下がインストールされた

OpenZeppelin 4.3.2ではOwnable.solは @openzeppelin/contracts/access/Ownable.sol に、SafeMath.solは @openzeppelin/contracts/utils/math/SafeMath.sol にある
そこでFundraiser.solでは以下のように書き換えてインポートした

pragma solidity >0.4.23 <0.9.0;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/math/SafeMath.sol";

~~~

truffle-config.jsを下のように書き換え、solidityのバージョンを変えた

const path = require("path");

module.exports = {
  ~~~
  compilers: {
    solc: {
      version: "^0.8.0"
    }
  }
};

よく分からないエラーが発生
1. Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. ~~~
2. Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient. ~~~

1. では何かライセンスが要求される
Fundraiser.solの1行目に以下の文を追加, OOOは好きな文字でOK

// SPDX-License-Identifier: ORE

2. ではconstructorの記法が変化しているという話
www.shibuya24.info

Fundraiser.solとMigration.solのconstructor文からpublicを消去

constructor(){}

とりまここまで

キャッシュレスでのポイント還元を利用して消費税2.6%相当で買い物できる話

f:id:tak-bio:20190930003512p:plain

キャッシュレスでポイント還元、どのお店が使えるのか

キャッシュレス支払いで2%または5%還元

10月1日からの消費税増税に伴い、負担軽減のためとキャッシュレスの促進のため、キャッシュレスで支払った場合、2%または5%が還元されるということになっています。

何言ってるかよく分からなかったので調べてまとめました。

 

続きを読む

【全ポケ語れる説】No.068 カイリキー

f:id:tak-bio:20190731071717p:plain

【全ポケ語れる説】No.068 カイリキー

ポケモン自己分析で私は【カイリキー】と出ました。

受け身だとか行動より考えるとか選択したのですけどね。

ポケットモンスターサン・ムーンのCMで吉田沙保里が使っていたのが印象深いですね。


『ポケットモンスター サン・ムーン』テレビCM“しれんサポーター篇”(2)

 

dic.pixiv.net

 

続きを読む

「女は面白いから来世も女がいい。」最終回を読んで

f:id:tak-bio:20190508021555p:plain

「女は面白いから来世も女がいい。」最終回を読んで

「女は面白いから来世も女がいい。」最終回おめでとうございます

以前から推していたエッセイ漫画の「女は面白いから来世も女がいい。」が最終回を迎えました。

 

このブログの作り始めの時に紹介記事を書いたのですが、最終回を迎えたことから改めて記事を書きたいと思いました。

tak-bio.hatenablog.com

 

続きを読む

高偏差値の大学に行くべきか、ビッグラボを目指すべきか

f:id:tak-bio:20190502164157p:plain

高偏差値の大学に行くべきか、ビッグラボを目指すべきか

Twitterの私のタイムラインでにわかに上がった高偏差値よりビッグラボに行こう理論。

賛同している人も多いのですが私はこう思いました。

ビッグラボほど高偏差値じゃね?

続きを読む

【全ポケ語れる説】No.719 ディアンシー

f:id:tak-bio:20190402220551p:plain

【全ポケ語れる説】No.719 ディアンシー

メガシンカする幻のポケモン

映画ポケットモンスターポケモン・ザ・ムービー XY 破壊の繭とディアンシー」に登場しました。

dic.pixiv.net

続きを読む

【全ポケ語れる説】No.044 クサイハナ 

f:id:tak-bio:20190326205707p:plain

【全ポケ語れる説】No.044 クサイハナ 

ナゾノクサクサイハナと進化し、その後ラフレシアもしくはキレイハナに進化するポケモン

タマムシジムリーダー・エリカ様のポケモンとして有名ですね。

dic.pixiv.net

続きを読む