//tips
テキストから画像を生成するgoogleシステム。ベースの素材が自身で選べないのが微妙。アイデアを得るのには良さそう。
https://japan.zdnet.com/article/35187940/
https://imagen.research.google/
複利良きかな。
https://www.coindesk.com/business/2022/05/27/siam-commercial-bank-is-chasing-defi-yield-through-compound/
Solidity忘れつつある定期的に見直さねば。
//smart contract
自身に対するメッセージも表示する形になってしまっているので、そちらをリストから外す。
これはninjafinalvを展開して、カードの中に生成している。
{ninjafinalv&&ninjafinalv.map((item,index) => (
<div key={index} >
ninjafinalvはmixlistからninjafinal.includes(x.userid)分を抜き出したものであり、useeffect内のsetninjafinal(ninjax)にて値を設定されている。
ninjaxはvar ninjax=[]として配列でninja配列内部のuseridとTowhomが異なる場合のidを格納している。
if(Item.userid !=Item.Towhom ){
console.log('ninjax')
//if(!ninjax.indexOf(Item.userid)){
console.log('ninjax2')
ninjax.push(Item.userid)
//}
}
本来は自身のものは表示されないはず。どこかがおかしいので if(mixdone&&ninjax!=[]&&!ninjafinalflag){の中でログをとる。
console.log(ninjafinal)
console.log(ninjax)
Ninjaxの方にuser1がかなり入っていた。1から誰かに送ってもuseridは1だから当然か。このあと処理していた部分を飛ばしてそのままninjafinalに格納するようにしたのが問題だったよう。
if(Item.userid !=Item.Towhom ){
if(Item.userid!=authid){
ninjax.push(Item.userid
}
}
authidは初期化前には使用できないとのこと。コードの順番が悪かった。const [authid, setauthid] = useState(‘’)とuseeffectを上部に持ってきた。
これにて無事に自身の表示をなくすことができた。
カードの中に表示されるlastmessageの表示を修正。
文字列の表示位置がいまいちに感じた。makestyleや<br/>で色々変更したが結局初期位置に落ち着いた。
文字の表示を一部のみにしてあとは省略の上、3点リーダーを記載する。
textover:{
overflow: "hidden",
textOverflow: "ellipsis",
},
効果なし。強引に文字制限かけるか。makestyle周りは使える時と使えない時があるので難しい。
<Typography >{itemold[itemold.length-1].slice(0,5)}...</Typography>
こちらにシンプルに5文字までを表示させた。
メッセージの方はきちんと設計できた。
以前作成したshopifyアカウントはどうなったか確認。月次プランを解約したためshop自体は全て消滅してしまった模様。無念。ここは後で触る。
自作画像のNFT登録を行なっていく。かなりsolidity,truffleなど忘れている。やばし。
https://ethereum.org/ja/developers/docs/standards/tokens/erc-721/
https://eips.ethereum.org/EIPS/eip-721
https://ethereumnavi.com/2021/11/09/contract-study-2-solidity-erc721/
https://cam-inc.co.jp/p/techblog/603394496142509097
https://hide.ac/articles/ow-9eH8F-
https://docs.soliditylang.org/en/v0.8.9/contracts.html#using-for
流れとして、remixで完結できるかわからないがOpenZeppelinで提供されているERC721のコントラクトを利用して、IPFSで分散させたimageのURLをこちらに渡し、TruffleでTestnetにデプロイ、自身のwalletアドレスに対してmint(0x012345...) すればいける気がする。
読み込まねば。
久しぶりにremixを開くと怪しげな警告を発見。
https://remix.ethereum.org/#optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.7+commit.e28d00a7.js
Scam Alert: Beware of online videos promoting "liquidity front runner bots".
YouTubeにて資金抜き取りのコードが書かれているので気をつけてとのこと。
OpenSeaにはテストネットであるRinkebyのマーケットプレイスも用意されており、Gas代をかけずにメインネットと同一の操作やテストが可能とのこと。
Ethereum and Solidity: The Complete Developer's Guideを見直したり、クリプトゾンビをやって思い出す必要がある。