//tips
//smart contract
Chainlinkのwhitepaperも並行して読んでいるが、DIDの考え方をうまく活用すれば信用スコアなどの個人情報の特定表示が可能になりそう。
個人情報の取り扱いの方法として、原則は個人に対してのrequestがあり、それを個人がapproveするかで個人情報のやりとりを決めていく方法を取るよう。
この際には個人が全ての個人情報を集約したものを保持することになる。
セキュリティ面はどうなるのかは要確認。
私が想定したのは客観的な個人情報はオラクルと直結した所定の銀行などが保有しており、そこに対してアプリ経由で申し込みを行うと閲覧ができるというもので、その閲覧物の信頼性は、閲覧物を提供する組織に直結しており、optimiskのようにもし、問題が発覚したら組織の信頼性を損ねる形にすることで不正を回避するincentiveを回すことができないかを考えていた。
個人が保有し、提供先を厳選できるという考え方は面白かった。これは公開鍵と秘密鍵の形式で実現できるもの。
DIDについては下記の資料が参考になるとのことなので別途読んでみる。
先のdexのコントラクトをpolygon テストネットワークにdeployできないかトライする。
記述にあるようにtruffle-config fileを修正することでsolidityとABIへのパスを認識させる。
The truffle-config file is an important file to understand. In this file, we must configure the paths to the Solidity files (contracts_directory) and the contract Application Binary Interface (contracts_build_directory). We also need to define the available networks.
matic: {
provider: () => new HDWalletProvider(process.env.MNEMONIC,
`https://matic-mumbai--jsonrpc.datahub.figment.io/apikey/${process.env.DATAHUB_POLYGON_API_KEY}`),
network_id: 80001,
confirmations: 2,
timeoutBlocks: 200,
skipDryRun: true,
networkCheckTimeout: 100000,
},
などを追加し、ルートディレクトリにニューモニックキーワードを入れた.envファイルを設置。
truffle compile を行うと @truffle/hdwallet-providerがないとのエラーが出たので、npm install @truffle/hdwallet-providerを実行し、導入。
今度はCannot find module 'dotenv’のエラー。うまくファイルに生成できていなかった。エディタで.envは作成可能で、設置は可能だが表示されないという問題が起こるのでMacの場合Command + Shift + .でFinderでの表示に切り替えられる。
無事に表示でき、確認できたので再度トライ。
npm install dotenv
を行わないと読み込まれないよう。
こちらによりコンパイル成功。すかさず下記を実行。
truffle migrate --network matic --reset
const newErr = new Error(`PollingBlockTracker - encountered an error while attempting to update latest block:\n${err.stack}`)
^
Error: PollingBlockTracker - encountered an error while attempting to update latest block:
undefined
httpsをwssに変更するとできるという記載を見つけたのでそちらを実行。
Error: Unexpected server response: 401が次に生じた。確かにローカルではできないので、infura接続するプロジェクトが必要かもしれない。
別の簡易プロジェクトを用意する。
以前作成したgreeterプロジェクトで同様のことができないかを確認する。
Infuraを触っていたらpolygonテストネットワークを利用するにはクレジットカード登録しなければならないよう。どうするか。
YouTubeのものはinfuraを使っていなかった気がするのでチェック。
codeをgithubからダウンロード。
cd nft-demo-deploy-polygon
Polygonが公開している下記のCLIENT_URL="https://rpc-mumbai.matic.today”でいけるそう。ありがたや。
npx truffle migrate --network matic
これを実行するも
Error: Unexpected server response: 500
at ClientRequest.<anonymous>
問題になっているのはnft画像を表示するpinataの部分だろうか。
むむむ。別の形で試行錯誤するもできない。これは一旦新しいeasyな.soleを作ってアップして確かめた方がいいかもしれない。まっさらで試して最終確認する。