#NFTsummer A few weeks ago, we interviewed Xixi Huang (AW#17) in Mandarin and as the AppWorks Fellow who helps us out on the blockchain side, Xixi has a lot of ideas that are worth sharing to a bigger audience. Here's his interview in English:
西西 (Xixi) 黃士晉 is an AppWorks #17 alumni and co-founder of Rydeit. His mission is to bring the applications of blockchain to everyday life because he believes that blockchain can make the world a more fair and better place. As an AppWorks Fellow, he is responsible for guiding founders to think about blockchain and providing insights on blockchain-related investment deals. Before AppWorks, he led his previous team to build more than 10 dapps, including famous games in Taiwan such as 柚子打魚 and Shrimp.Finance. Within a month of launching these games, they had amassed over NT$ 100M (~US$ 3.5M) in transactions. His favorite pastime is traveling with his grandma, and his ultimate goal is to persuade her to buy Bitcoin!
Check out what Xixi has to say about blockchain and NFTs.
#NFTevolution
I started to learn how to write smart contracts in 2016, and learned the entire logic of ERC-20 for tokens and ERC-721 for NFTs. While I was learning about NFTs, I realized that the combination of NFTs with video games was very fitting. In video games, the treasure and equipment you collect becomes virtual assets as NFTs. And the process of using smart contracts to exchange items was very efficient on the blockchain.
At the end of 2018, I designed and created a zombie video game, integrating the concept of playing and drawing cards and packs. Within a pack were 3 NFTs with zombies on them. As a player, the more cards with zombies you collect, the higher your score, and the more tokens you can ultimately earn. From this game, I got connected to other game manufacturers and publishers who were also interested in creating virtual game assets through NFTs. We all had the same idea -- NFTs can bring more meaning and value to the players.
However at the time, many people in the market still believed that tokens and games were riddled with fraud. Since the lifecycle of video games can be short, many traditional gaming companies in the end didn’t find it worthwhile to learn how to integrate NFTs or blockchain into their games.
While the nature of NFTs hasn’t changed, the market has evolved. People’s curiosities are growing, more applications are being developed, and more creators are cropping up. I think now is the right time to start talking to companies about how to integrate NFTs or blockchain into their businesses or games.
#NFTplayground
I think there are many opportunities to start a business these days, and people who want to start one should think about coming to blockchain. Not only is there a huge opportunity but the possibilities are endless. And within blockchain, NFTs currently offer the biggest opportunity. However, it can also pose a new challenge to the team’s endurance, because while easy to obtain traction and users with NFTs, the challenge lies in retaining them.
Similar to other blockchain applications in the past few years, when a new concept is invented, it’ll be flushed with many early users. However, because the surrounding infrastructure wasn’t in place, it was difficult for founders to make valuable extensions or applications. And many of these users don’t actually care about these blockchain products and they are only trying to leverage the ecosystem to make a quick buck. Once they earn all that they can, they will move on to another project.
Right now working on NFTs, you can collect a lot of data in a short amount of time and also make some income to keep you afloat. Founders should seize this opportunity to understand these users, then modify and optimize both their products and mentality to retain them.
Since there’s no geographical restriction on blockchain, I would encourage founders to look beyond your country and region in expanding your NFT products. Also, since blockchain is closely related to finance, if you don’t have a good pricing strategy (or token economics) for your NFT products, the prices might fluctuate greatly. You need to be prepared and remind your users of the risks, otherwise you’ll ultimately get scolded!!
#NFTera
This year, I finally consider myself an official NFT collector. I pay special attention to NFTs with contemporary significance, such as Hashmasks. It signals to the public that NFTs are not just for collecting but that game mechanics can also be applied to interact with users. If we look back ten years from now I’m confident to say that the project that really brought the NFT wave in 2021 would be Hashmasks.
In addition to veteran projects like Hashmasks, other collections I care a lot about are related to Metaverse, such as The Sandbox. I believe that the world will become more and more decentralized and virtual. It is very likely that the next generation will be immersed in a virtual world like Ready Player One, so I am also very optimistic about NFTs in digital worlds like The Sandbox.
The possibilities are endless when it comes to NFTs. Right now, few NFTs are connected with our daily lives. For example, I bought a Hashmask. If I want to show it in my apartment, I might still need to print it out. In the future, how will we connect NFTs to the physical world? I believe they can be applied in many ways, including frames, wallets, cars, house deeds, leases, etc. These products in daily life can be combined with NFTs. We just haven’t opened our imagination yet. It’s hard to imagine that only 20 years ago we were having a hard time believing in the power of the internet.
The development of science and technology not only relies on infrastructure, but also the user's learning curve. The world needs to talk about blockchain more, so that everyone will gradually become familiar with it and it’ll continue to evolve.
If you're a founder working in blockchain or NFTs, welcome to apply to AppWorks >> https://bit.ly/3w0WyIl
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「optimistic example」的推薦目錄:
- 關於optimistic example 在 AppWorks Facebook 的最佳貼文
- 關於optimistic example 在 國立臺灣大學 National Taiwan University Facebook 的最讚貼文
- 關於optimistic example 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於optimistic example 在 コバにゃんチャンネル Youtube 的精選貼文
- 關於optimistic example 在 大象中醫 Youtube 的最佳解答
- 關於optimistic example 在 大象中醫 Youtube 的精選貼文
optimistic example 在 國立臺灣大學 National Taiwan University Facebook 的最讚貼文
【國立臺灣大學109學年度畢業典禮 致詞代表 資訊工程學系韓哈斯】
Student Address, National Taiwan University Commencement 2021
International student Seth Austin Harding from Department of Computer Science and Information Engineering
.
校長、教授、以及在螢幕前的各位同學,大家好。非常感謝臺大給我這個機會。我是韓哈斯,來自美國華盛頓特區。我會以自身的真實經驗出發,來跟大家分享臺大帶給我的收穫。
我當初為什麼選擇來台灣求學呢?我小時候非常喜歡看武打片,然後我十歲的時候去看了一部電影叫做「功夫熊貓」。這部電影成為了我最喜歡的電影,主角「阿波」的故事跟我的故事很像。我看完了之後就決定要開始學功夫,所以去了「美國武術學院」。那個時候我每天都聽旁邊的人講中文,到了高中我就決定開始學中文。當時我遇到了一位貴人,她是從台北到美國來教書的中文老師,她教的課是我當時最喜歡的課,我每天去她的教室跟好朋友練習。到了高中畢業時,我是全高中中文最好的非母語人士。同時,我第二喜歡的課程是電腦科學,那時候我是程式能力數一數二的學生。後來在成功錄取夢寐以求的學校:臺灣大學之後,我感到雀躍不已,因為我既可以繼續學習中文,也可以持續在世界頂尖的學府中,往電腦科學的方向精進自我。
不過老實說,當我回顧大一的時期,我也曾迷失自我。雖然我修了很多很多的中文課,但是我那時只聽得懂大概一半的課程內容。跟大家對美國人的印象不同,我其實很害羞,也很害怕舉手提問,我甚至不太敢參與社交,所以當時朋友也很少。我開始想家,也變得有一點憂鬱。那時籃球是我唯一的紓壓方式。
但更不幸的是,我在打籃球時弄傷了我的前十字韌帶,做了兩次手術,需要一年半才能恢復。許多的負面情緒壓得我喘不過氣。我被困在人生的低谷,不知如何是好。我覺得我的中文不夠好,我也被診斷出失眠跟ADHD,另外,美國高中的數學太簡單了,來這邊不夠用。種種壓力讓我足不出戶,找不到自己的人生方向。後來,我向臺大心輔中心以及我的心理醫師尋求協助,然後我也開始跟系上有更多互動。有一位教授叫徐宏民跟我說,"Never give up",雖然那時候我覺得這句話太過於簡化了我的問題,不過,在我仔細思考了一個禮拜之後,我下定決心,發誓不讓自己被這些事擊敗。我決定要克盡全力,認真做好每件事。這是我人生的轉捩點,我開始變得異常自律。當時廖世偉教授和洪士灝系主任帶我進入它們的研究室鑽研學術。這重燃了我對資訊工程的熱忱,提醒了我當初會愛上這個領域的原因。我開始研究人工智慧以及區塊鏈,也開始跟其他系上同學交朋友,一起成立臺大人工智慧應用社NTUAI。NTUAI現在是校內頗具規模的技術研究社團,致力於推廣人工智慧給任何對該領域有熱忱的學生。歡迎加入NTUAI,可以掃描我們的QR CODE。
最近,由於疫情的緣故,我已經一年半沒回美國了。但是沒關係,因為我已經找到了我第二個家。我很愛臺大,以及台灣的人事物。雖然我經歷了人生的低潮,但這裡的一切總是給我滿滿的祝福與協助。最後,我想送給大家「功夫熊貓」裡的一句台詞: "You just need to believe"。只要用樂觀的態度去面對困難,就有能力改變自己,甚至改變身旁所愛的人。就像阿波的父親說的,"心誠則靈,只要你相信,點石就能成金。根本沒有什麼秘笈。只有你。"謝謝大家。
.
==============================
.
President, professors, and classmates, I'm very honored to be here. Thank you to NTU for giving me this opportunity. My name's Seth Austin Harding, and I'm from the D.C. metropolitan area. I'm going to tell a real story that's personal but that's relatable and what I see as the real me.
What motivated and guided me to take my undergraduate studies in Taiwan? When I was very young, I really loved watching kung fu movies, and when I was 10 years old, I went to the theater to watch "Kung Fu Panda". This became my favorite movie as I felt like the story of the main character Po was one to which I could very much relate. After watching this movie, I decided that I wanted to start learning kung fu, so I went to the United States Wushu Academy. At the time, I began hearing Mandarin on a daily basis, so when I was in high school, I decided to begin formally studying Chinese. It ended up being my Chinese teacher from Taipei who was my favorite teacher who taught my favorite class, so I decided I'd hang out in the Chinese classroom every day and practice lots. By the time graduation came around, I had attained the highest proficiency in Chinese among any non-native speaker in my school. My second favorite class was computer science, and I ended up attaining among the best coding skills in my school. After getting accepted to the school of my dreams -- National Taiwan University -- I felt honored, humbled, and excited; I could now spend time at among the world's finest universities studying Chinese and at the same time advancing my knowledge of computer science.
But when I look back at my freshman year, to be honest with you, I didn't know what I was doing. Despite having taken very many Chinese classes, when I went to the NTU lectures, I understood only about half of what the teachers were saying. Contrary to most people's impressions of an American, I was actually too shy to raise my hand, to ask questions, or to even meet with teachers after class, so I had very few friends at the time. I started to become homesick and depressed. At that time, I found that basketball was the only way I knew of relieving my stress. However, while playing basketball, I had torn my ACL and it would take two surgeries and a year and a half in time to fully recover. At this point, I felt caught between a rock and a hard place. In fact, this was the lowest point of my life, and I didn't know what to do. I felt like my Chinese wasn't good enough, I had been diagnosed with insomnia and ADHD, and I felt like the math taught in America was too simple to allow for me to keep up with my classmates. I was under immense pressure, and at this time, I lost any sense of purpose or direction. Later on, I went to seek help from NTU counseling, from my psychiatrist, and from my department. I reached out to Professor Winston Hsu from CSIE, and he told me this: "Never give up"; it was such an oversimplified way to approach such a complex series of problems, I had thought. However, I pondered these words intensely for one week, and by the end of that week, I had made a firm decision. This would NOT be another example of me giving up. I decided to go all out, to work diligently and passionately on all tasks at hand. This was the turning point of my life; I started to discipline myself to a very high degree. At this time, I met my then-to-become advisors Professor Shih-Wei Liao and Professor Shih-Hao Hung and entered their labs to begin research. Finally, the passion that I had for computer science that I had previously held in high school was kindled again, and I was finally reminded why I loved this field. I began my research life in blockchain and AI, and at the time I entered the lab, I also began creating NTUAI. NTUAI is now a large and highly successful NTU club that is dedicated to the research and public understanding of AI. Welcome one and all to join us; please scan our QR code here.
For a year and a half I haven't returned to America because of covid. But not to worry; I have found my second home, away from home. I love it here in NTU and I cherish all of the things I've had the privilege to experience in Taiwan. I've gone through the most difficult of struggles in my life here, but I've also had the most fortunate and blessed of experiences. To conclude, I'd like to quote a line from "Kung Fu Panda": "You just need to believe". As long as you are willing to adopt an optimistic attitude in facing challenges and hardships, you may become a positive force in changing the lives of those around you as well as your own life. It all depends on how you view it; just like what Po's father says, "there is no secret ingredient. It's just you." Thank you, everyone.
詳見:
https://www.facebook.com/NTUCommencement/posts/2718185771805180
.
#臺灣大學 #畢業典禮 #NTUCommencement2021 #學生致詞代表 #臺大資訊工程學系 #韓哈斯 #SethAustinHarding
optimistic example 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] Optimistic Rollup 就這樣用(2)
✍️ Juin Chiu
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
ERC721 的儲值、轉移與提領
TL;DR
本文會跳過 Optimistic Rollup 的介紹而直接實際演示,關於 Optimistic Rollup 的概念與設計原理筆者將在日後另撰文說明,有興趣的讀者可以先參考下列三篇文章(由淺入深):1. OVM Deep Dive 2. (Almost) Everything you need to know about Optimistic Rollup 3. How does Optimism’s Rollup really work?
本文將演示一個 Optimism Rollup 的 ERC721 範例,程式碼在這裡。
本演示大量參考了以下範例:Optimistic Rollup Example: ERC20。
本演示所使用的 ERC721 Gateway 合約來自這個提案,目前尚未成為官方標準。
環境設置
Git
Node.js
Yarn
Docker
Docker-compose
筆者沒有碰到環境相容問題,但是建議都升到最新版本, Node.js 使用 v16.1.0 或以上版本
Optimism 服務啟動
有關 Optimisim 的所有服務,都包裝在 Optimism 這個超大專案當中了,直接使用原始碼進行組建:
$ git clone git@github.com:ethereum-optimism/optimism.git$ cd optimism$ yarn$ yarn build
組建完成後,就可以在本機啟動服務了:
$ cd ops$ docker-compose build$ docker-compose up
這個指令會啟動數個服務,包括:
L1 Ethereum Node (EVM)
L2 Ethereum Node (OVM)
Batch Submitter
Data Transport Layer
Deployer
Relayer
Verifier
Deployer 服務中的一個參數要特別注意: FRAUD_PROOF_WINDOW_SECONDS,這個就是 OPtimistic Rollup 的挑戰期,代表使用者出金(Withdraw)需等候的時長。在本篇演示中預設為 0 秒。
如果有需要重啟,記得把整個 Docker Volume 也清乾淨,例如: docker-compose down -v
Optimism 整合測試
在繼續接下來的演示之前,我們需要先確認 Optimism 是否有順利啟動,特別是 Relayer 是否運作正常,因此我們需要先進行整合測試:
$ cd optimism/integration-tests$ yarn build:integration$ yarn test:integration
確保 L1 <--> L2 Communication 相關測試通過後再繼續執行接下來的演示內容。
啟動服務及部署合約需要花費一些時間,運行一段時間(約 120 秒)之後再執行測試,如果測試結果全部皆為 Fail,可能是 Optimism 尚未啟動完成,再等待一段時間即可。
ERC721 合約部署
Optimism 啟動成功並且完成整合測試後,接下來進行 ERC721 合約的部署。筆者已將合約及部署腳本放在 optimistic-rollup-example-erc721 這個專案中:
$ git clone git@github.com:ethereum-optimism/optimistic-rollup-example-erc721.git$ cd optimistic-rollup-example-erc721$ yarn install$ yarn compile
接下來我們需要部署以下合約:
ERC721,部署於 L1
L2DepositedEERC721,部署於 L2
OVM_L1ERC721Gateway,部署於 L1
OVM_L1ERC721Gateway 只部署在 L1 上,顧名思義它就是 L1 <=> L2 的「門戶」,提供 Deposit / Withdraw 兩個基本功能,使用者必須透過這個合約來進出 L2。
雖然 OVM_L1ERC20Gateway 是 Optimistic Rollup 官方提供的合約。但是開發者也可以依需求自行設計自己的「門戶」。
OVM_L1ERC20Gateway 目前沒有 Optimism 的官方實作,本演示所使用的 ERC721 Gateway 合約來自這個提案,目前尚未成為官方標準。
接下來,我們直接用腳本進行部署:
$ node ./deploy.jsDeploying L1 ERC721...L1 ERC2721 Contract Address: 0xFD471836031dc5108809D173A067e8486B9047A3Deploying L2 ERC721...L2 ERC721 Contract Address: 0x09635F643e140090A9A8Dcd712eD6285858ceBefDeploying L1 ERC721 Gateway...L1 ERC721 Gateway Contract Address: 0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547ccInitializing L2 ERC721...
ERC721 鑄造、儲值、轉移與提領
鑄造(L1)
初始狀態如下,所有帳戶皆尚未持有任何代幣:
接下來,我們將鑄造 2 個代幣以進行接下來的演示。首先,進入 ETH(L1) 的 Console:
$ npx hardhat console --network ethWelcome to Node.js v16.1.0.Type ".help" for more information.>
取得 Deployer / User 帳戶:
// In Hardhat ETH Console
> let accounts = await ethers.getSigners()
> let deployer = accounts[0]
> let user = accounts[1]
取得 ERC721 及 OVM_L1ERC721Gateway 合約物件,合約地址可以從部署訊息中取得:
// In Hardhat ETH Console
> let ERC721_abi = await artifacts.readArtifact("ExampleToken").then(c => c.abi)
> let ERC721 = new ethers.Contract("0xFD471836031dc5108809D173A067e8486B9047A3", ERC721_abi)
> let Gateway_abi = await artifacts.readArtifact("OVM_L1ERC721Gateway").then(c => c.abi)
> let Gateway = new ethers.Contract("0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", Gateway_abi)
鑄造兩個 ERC721 代幣:
// In Hardhat ETH Console
> await ERC721.connect(deployer).mintToken(deployer.address, "foo")
{ hash: "...", ...}
> await ERC721.connect(deployer).mintToken(deployer.address, "bar")
{ hash: "...", ...}
只有合約的 Owner(deployer) 可以進行鑄造的操作。
確認 Deployer 餘額:
> await ERC721.connect(deployer).balanceOf(deployer.address)
BigNumber { _hex: '0x02', _isBigNumber: true } // 2
確認代幣的 TokenID 與 Owner:
> await ERC721.connect(deployer).ownerOf(1)
'0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' // deployer
> await ERC721.connect(deployer).ownerOf(2)
'0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' // deployer
儲值(L1 => L2)
完成以上步驟後,目前的狀態如下:
接下來,授權 OVM_L1ERC721Gateway使用 TokenID 為 2 的代幣:
// In Hardhat ETH Console
> await ERC721.connect(deployer).approve("0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", 2)
{ hash: "...", ...}
在 OVM_L1ERC721Gateway 合約呼叫 Deposit,儲值 TokenID 為 2 的代幣:
// In Hardhat ETH Console
> await Gateway.connect(deployer).deposit(2)
{ hash: "...", ...}
我們可以到 Optimism (L2) 的 Console 確認入金是否成功:
$ npx hardhat console --network optimismWelcome to Node.js v16.1.0.Type ".help" for more information.>
取得 Deployer / User 帳戶:
// In Hardhat Optimism Console
> let accounts = await ethers.getSigners()
> let deployer = accounts[0]
> let user = accounts[1]
取得 L2DepositedERC721 合約物件,合約地址可以從部署訊息中取得:
// In Hardhat Optimism Console
> let L2ERC721_abi = await artifacts.readArtifact("OVM_L2DepositedERC721").then(c => c.abi)
> let L2DepositedERC721 = new ethers.Contract("0x09635F643e140090A9A8Dcd712eD6285858ceBef", L2ERC721_abi)
確認入金是否成功:
// In Hardhat Optimism Console
> await L2DepositedERC721.connect(deployer).balanceOf(deployer.address)
BigNumber { _hex: '0x01', _isBigNumber: true } // 1
> await L2DepositedERC721.connect(deployer).ownerOf(2)
'0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' // deployer
ERC721 轉移(L2 <=> L2)
完成以上步驟後,目前的狀態如下:
接下來,我們在 L2 從 Deployer 轉移代幣給 User:
// In Hardhat Optimism Console
> await L2DepositedERC721.connect(user).balanceOf(user.address)
BigNumber { _hex: '0x00', _isBigNumber: true } // 0
> await L2DepositedERC721.connect(deployer).transferFrom(depoyer.address, user.address, 2)
{ hash: "..." ...}
> await L2DepositedERC721.connect(user).balanceOf(user.address)
BigNumber { _hex: '0x01', _isBigNumber: true } // 1
> await L2DepositedERC721.connect(user).ownerOf(2)
'0x70997970C51812dc3A010C7d01b50e0d17dc79C8' // user
ERC721 提領(L2 => L1)
完成以上步驟後,目前的狀態如下:
接下來,我們用 User 帳戶提領資金,在 L2DepositedERC721 合約呼叫 Withdraw:
// In Hardhat Optimism Console
> await L2DepositedERC721.connect(user).withdraw(2)
{ hash: "..." ...}
> await L2DepositedERC721.connect(user).balanceOf(user.address)
BigNumber { _hex: '0x00', _isBigNumber: true }
最後,檢查在 L1 是否提領成功:
// In Hardhat ETH Console
> await ERC721.connect(user).balanceOf(user.address)
BigNumber { _hex: '0x01', _isBigNumber: true } // 1
> await ERC721.connect(deployer).balanceOf(deployer.address)
BigNumber { _hex: '0x01', _isBigNumber: true } // 1
> await ERC721.connect(user).ownerOf(2)
'0x70997970C51812dc3A010C7d01b50e0d17dc79C8' // user
由於挑戰期為 0 秒,因此提領幾乎無需等待時間,頂多只需數秒鐘
做完上述所有操作,最終狀態應該如下:
總結
本文演示了:
Optimistic Rollup 相關服務的本機部署
ERC721 L1 => L2 的儲值(Deposit)
ERC721 L2 帳戶之間轉移(Transfer)
ERC721 L2 => L1 的提領(Withdraw)
筆者未來將繼續擴充此系列的教學內容,例如支援其他標準的合約如 ERC1155,以及如何運行 Optimistic Rollup 生態系中最重要的驗證者(Verifier),敬請期待。
參考資料
OVM Deep Dive
(Almost) Everything you need to know about Optimistic Rollup
How does Optimism’s Rollup really work?
Optimistic Rollup Official Documentation
Ethers Documentation (v5)
Optimistic Rollup Example: ERC20(Github)
Optimism (Github)
optimism-tutorial (Github)
l1-l2-deposit-withdrawal (Github)
Proof-of-concept ERC721 Bridge Implementation (Github)
Optimistic Rollup 就這樣用(2) was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
optimistic example 在 コバにゃんチャンネル Youtube 的精選貼文
optimistic example 在 大象中醫 Youtube 的最佳解答
optimistic example 在 大象中醫 Youtube 的精選貼文
optimistic example 在 11 Examples Of Optimism (How To Embrace Optimism) 的相關結果
1. Be a source of positivity for others · Smile to a stranger · Try to laugh when you're around others. Laughter is one of the best remedies for ... ... <看更多>
optimistic example 在 Optimism (for Teens) - Nemours KidsHealth 的相關結果
Train your mind to believe you can make good things happen in your life. Get in a habit of telling yourself specific things you can do to succeed. For example: ... ... <看更多>
optimistic example 在 The best 111 optimistic sentence examples 的相關結果
Optimistic sentence example · I think that's an optimistic count of the number of participants. · Jorge was optimistic and always saw the best in every situation. ... <看更多>