📜 [專欄新文章] Gas Efficient Card Drawing in Solidity
✍️ Ping Chen
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Assign random numbers as the index of newly minted NFTs
Scenario
The fun of generative art NFT projects depends on randomness. The industry standard is “blind box”, where both the images’ serial number and the NFTs’ index are predetermined but will be shifted randomly when the selling period ends. (They call it “reveal”) This approach effectively solves the randomness issue. However, it also requires buyers to wait until the campaign terminates. What if buyers want to know the exact card right away? We’ll need a reliable onchain card drawing solution.
The creator of Astrogator🐊 isn’t a fan of blind boxes; instead, it thinks unpacking cards right after purchase is more interesting.
Spec
When initializing this NFT contract, the creator will determine the total supply of it. And there will be an iterable function that is randomly picking a number from the remaining pool. The number must be in range and must not collide with any existing ones.
Our top priority is accessibility/gas efficiency. Given that gas cost on Ethereum is damn high nowadays, we need an elegant algorithm to control gas expanse at an acceptable range.
Achieving robust randomness isn’t the primary goal here. We assume there’s no strong financial incentive to cheat, so the RNG isn’t specified. Implementers can bring their own source of randomness that they think is good enough.
Implementation
Overview
The implementation is pretty short and straightforward. Imagine there’s an array that contains all remaining(unsold) cards. When drawIndex() is called, it generates a (uniform) random seed to draw a card from the array, shortens the array, and returns the selected card.
Algorithm
Drawing X cards from a deck with the same X amount of cards is equal to shuffling the deck and dealing them sequentially. It’s not a surprise that our algorithm is similar to random shuffling, and the only difference is turning that classic algo into an interactive version.
A typical random shuffle looks like this: for an array with N elements, you randomly pick a number i in (0,N), swap array[0] and array[i], then choose another number i in (1,N), swap array[1] and array[i], and so on. Eventually, you’ll get a mathematically random array in O(N) time.
So, the concept of our random card dealing is the same. When a user mints a new card, the smart contract picks a number in the array as NFT index, then grabs a number from the tail to fill the vacancy, in order to keep the array continuous.
Tweak
Furthermore, as long as the space of the NFT index is known, we don’t need to declare/initialize an array(which is super gas-intensive). Instead, assume there’s such an array that the n-th element is n, we don’t actually initialize it (so it is an array only contains “0”) until the rule is broken.
For the convenience of explanation, let’s call that mapping cache. If cache[i] is empty, it should be interpreted as i instead of 0. On the other hand, when a number is chosen and used, we’ll need to fill it up with another unused number. An intuitive method is to pick a number from the end of the array, since the length of the array is going to decrease by 1.
By doing so, the gas cost in the worst-case scenario is bound to be constant.
Performance and limitation
Comparing with the normal ascending index NFT minting, our random NFT implementation requires two extra SSTORE and one extra SLOAD, which cost 12600 ~ 27600 (5000+20000+2600) excess gas per token minted.
Theoretically, any instantly generated onchain random number is vulnerable. We can restrict contract interaction to mitigate risk. The mitigation is far from perfect, but it is the tradeoff that we have to accept.
ping.eth
Gas Efficient Card Drawing in Solidity was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有3部Youtube影片,追蹤數超過25萬的網紅NO FAN NO FUN,也在其Youtube影片中提到,上次在我的Youtube社群問大家UD的妝跟這個想要看哪個先 結果煙燻妝勝出啦~~~~ 淺水扇貝留個🐚 讓我知道你有默默在看我🥰 影片從提到Nita 的無痕假睫毛的貼法在這 https://youtu.be/edivPV3-iJM #煙燻妝 #裸瞳妝 #貓眼眼線 裸瞳煙燻產品: ❣️...
「fan control教學」的推薦目錄:
- 關於fan control教學 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於fan control教學 在 Hunter 物理治療師 Facebook 的最讚貼文
- 關於fan control教學 在 湯士萱物理治療師 Suzanne Tang Physiotherapist Facebook 的最讚貼文
- 關於fan control教學 在 NO FAN NO FUN Youtube 的精選貼文
- 關於fan control教學 在 沛莉 Peri Story Youtube 的精選貼文
- 關於fan control教學 在 沛莉 Peri Story Youtube 的最佳解答
- 關於fan control教學 在 [請益] 風扇轉速控制….軟體有推薦嗎- 看板PC_Shopping 的評價
- 關於fan control教學 在 (介紹)筆電NBFC風扇控制(起飛?)軟體 - Mobile01 的評價
- 關於fan control教學 在 民樂電腦- #分享表單教學又來啦,不過這次是WPForms 有 ... 的評價
- 關於fan control教學 在 bios 風扇設定的推薦,MOBILE01、DCARD、PTT和網路上有 ... 的評價
- 關於fan control教學 在 bios 風扇設定的推薦,MOBILE01、DCARD、PTT和網路上有 ... 的評價
- 關於fan control教學 在 bios 風扇設定的推薦,MOBILE01、DCARD、PTT和網路上有 ... 的評價
- 關於fan control教學 在 [請益] 風扇轉速控制….軟體有推薦嗎 - PTT Web 的評價
- 關於fan control教學 在 Re: [求救] 風扇轉速與溫度- 看板MAC | PTT數位生活區 的評價
fan control教學 在 Hunter 物理治療師 Facebook 的最讚貼文
終於可以公開Hunter前陣子在忙甚麼事情了!
Hunter加入了研發 Kinetic Control 動作控制課程的英國 CMS 團隊!
CMS團隊這一次總共加入了三位新血!!
非常榮幸能與其他兩位一樣來自台灣的培訓講師加入 CMS 團隊 – 成為準 MSP/KC 講師!!!
相信大家一定對於CMS團隊還不太瞭解吧
沒關係!Hunter之後會再跟大家正式介紹我們團隊,以及台灣目前的講師喔!
【吳宗翰 Hunter 物理治療師 】
一位熱愛健身的物理治療師,結合自身物理治療的專業和健身的知識與經驗,幫助更多的人在受傷後,能順利回到所愛的運動和休閒活動上。藉由經營FB、Youtub-T「Hunter 物理治療師」,分享物理治療相關衛教知識。未來也將透過專業課程教學,將理念、知識傳達給更多人,理解動作健康的重要性。
了解更多:
■ CMS-KC 官網講師介紹 https://www.comeramovementscience.co.uk/cms-team-hunter-wu
■ FB: Hunter物理治療師 https://www.facebook.com/HunterPTworkout/
■ IG: https://www.instagram.com/hunterptworkout/
■ YT: http://www.youtube.com/c/Hunter物理治療師
/
/
【諶冠瑜 Ariel Shen 物理治療師】
著迷於人們多元的動作模式和肌肉骨骼之間的關聯。接觸CMS - Kinetic Control課程後,了解到動作與疼痛、受傷習習相關,致力於改善動作失能,幫助人們重拾身體的掌控權。不只是要減緩疼痛,更要找出疼痛的根源、失衡的動作模式,並透過動作再教育的控制練習,解決真正的問題。希望傳遞正確的動作健康觀念,讓更多的治療師和動作專家,幫助人們遠離傷害及慢性疼痛的惡性循環。
了解更多:
■ CMS-KC 官網講師介紹: https://www.comeramovementscience.co.uk/cms-team-ariel-seng
■ 50+健身薈: https://www.50plusgym.com/blog
OT莉莉當媽媽: https://otlilly.com/
/
/
【賴冠帆 Shirley Lai 物理治療師】
用柔軟的心、好奇的頭腦、好動的身體感受自己生活中的每一件事。在接觸CMS – Kinetic Control 後便深受到其系統完整架構的診斷邏輯思考吸引。目前於台北復健專科診所治療不同骨骼肌肉類型問題的個案,協助他們尋回健康和良好的生活品質。
■ CMS-KC 官網講師介紹: https://www.comeramovementscience.co.uk/cms-team-shirley-lai
■ FB: Shirley Lai http://facebook.com/shirley.lai.PT
■ 安德復復健專科診所 https://www.e-clinic.com.tw/about-team.php ( 安德復復健醫療團隊 - 腦中風·運動傷害·骨科術後專科)
■ 好痛痛文章專欄EasePain Blog https://blog.easepain.tw/lai-kuan-fan/
#ComeraMovementScience
#KineticControl
#ThePerformanceMatrix
#MovementSciencePractitioner
#物理治療專業進修課程
#PTCPE
#PhysiotherapyContinueProfessionalEducation
林維萱 物理治療師 Tina Lin PhysioTherapist
康卓健康 OPTimal COntrol Wellness Center
湯士萱物理治療師 Suzanne Tang Physiotherapist
fan control教學 在 湯士萱物理治療師 Suzanne Tang Physiotherapist Facebook 的最讚貼文
憋了好久,終於可以和英國 CMS 總部同步公布好消息了!
研發 Kinetic Control 課程的英國 CMS 團隊加入了三位新血!!
歡迎三位來自台灣的培訓講師加入 CMS 團隊 – 成為準 MSP/KC 講師!!!
【Ariel 諶冠瑜 物理治療師】
著迷於人們多元的動作模式和肌肉骨骼之間的關聯。接觸CMS - Kinetic Control課程後,了解到動作與疼痛、受傷習習相關,致力於改善動作失能,幫助人們重拾身體的掌控權。不只是要減緩疼痛,更要找出疼痛的根源、失衡的動作模式,並透過動作再教育的控制練習,解決真正的問題。希望傳遞正確的動作健康觀念,讓更多的治療師和動作專家,幫助人們遠離傷害及慢性疼痛的惡性循環。
了解更多:
■ CMS-KC 官網講師介紹: https://www.comeramovementscience.co.uk/cms-team-ariel-seng
■ 50+健身薈: https://www.50plusgym.com/blog
OT莉莉當媽媽: https://otlilly.com/
/
/
【吳宗翰 Hunter 物理治療師 】
一位熱愛健身的物理治療師,結合自身物理治療的專業和健身的知識與經驗,幫助更多的人在受傷後,能順利回到所愛的運動和休閒活動上。藉由經營FB、Youtub-T「Hunter 物理治療師」,分享物理治療相關衛教知識。未來也將透過專業課程教學,將理念、知識傳達給更多人,理解動作健康的重要性。
了解更多:
■ CMS-KC 官網講師介紹 https://www.comeramovementscience.co.uk/cms-team-hunter-wu
■ FB: Hunter物理治療師 https://www.facebook.com/HunterPTworkout/
■ IG: https://www.instagram.com/hunterptworkout/
■ YT: http://www.youtube.com/c/Hunter物理治療師
/
/
【賴冠帆 Shirley Lai 物理治療師】
用柔軟的心、好奇的頭腦、好動的身體感受自己生活中的每一件事。在接觸CMS – Kinetic Control 後便深受到其系統完整架構的診斷邏輯思考吸引。目前於台北復健專科診所治療不同骨骼肌肉類型問題的個案,協助他們尋回健康和良好的生活品質。
■ CMS-KC 官網講師介紹: https://www.comeramovementscience.co.uk/cms-team-shirley-lai
■ FB: Shirley Lai http://facebook.com/shirley.lai.PT
■ 安德復復健專科診所 https://www.e-clinic.com.tw/about-team.php ( 安德復復健醫療團隊 - 腦中風·運動傷害·骨科術後專科)
■ 好痛痛文章專欄EasePain Blog https://blog.easepain.tw/lai-kuan-fan/
#ComeraMovementScience
#KineticControl
#ThePerformanceMatrix
#MovementSciencePractitioner
#物理治療專業進修課程
#PTCPE
#PhysiotherapyContinueProfessionalEducation
林維萱 物理治療師 Tina Lin PhysioTherapist
康卓健康 OPTimal COntrol Wellness Center
fan control教學 在 NO FAN NO FUN Youtube 的精選貼文
上次在我的Youtube社群問大家UD的妝跟這個想要看哪個先
結果煙燻妝勝出啦~~~~
淺水扇貝留個🐚 讓我知道你有默默在看我🥰
影片從提到Nita 的無痕假睫毛的貼法在這
https://youtu.be/edivPV3-iJM
#煙燻妝 #裸瞳妝 #貓眼眼線
裸瞳煙燻產品:
❣️TATCHA
The Silk Canvas Protective Primer
#絲滑妝前霜
❣️MAC Smooth High Coverage, Soft-matte Finish, Oil Control
#超持妝無瑕粉底液 NC15
❣️MAKE UP FOREVER
Full Cover Concealer
# 魔力防水遮瑕霜 06
❣️Embryolisse Lait-Crème Concentré Nourishing Moisturiser
#24小時神奇保濕乳霜
❣️FENTY BEAUTY BY RIHANNA
Match Stix Shimmer Skinstick
#迷你打亮修容棒Starstruck
❣️shu uemura Hard Formula Eyebrow Pencil
#植村秀 武士刀眉筆 H9暗灰05
❣️ANASTASIA BEVERLY HILLS
Sultry Eyeshadow Palette
❣️KATE fit rare gel pencil
#BK-1 凝色柔滑眼線膠筆
❣️shiseido Elylash curler
#資生堂 睫毛夾
❣️Kiss me Heroine make volume&curl mascara advancements film
#01 花漾美姬 瞬翹自然捲濃密防水睫毛膏
❣️NYX Metallic Eyeliner
#金燦謎光防水眼線筆 03 Rose Gold
❣️NYX Slim Lip Pencil
#我型我塑唇筆 NATURAL810
❣️NYX LIP LINGERIE
#貼身愛撫裸色唇釉 DUSK TO DAWN 19
❣️CANMAKE shading powder
#小顏粉餅 03
❣️BENEFIT COSMETICS
Blush Bar Cheek Palette
#頰彩舞不停腮紅盤
Instagram :
NOFANNOFUN
Facebook FanPage
https://www.facebook.com/FanChang12
fan control教學 在 沛莉 Peri Story Youtube 的精選貼文
上集在: https://youtu.be/rhLdsGxwDlM
半臉PK💥 熱門開架彩妝:果凍粉底、超強粉底液Fit Me、OPERA唇膏、excel眉筆... Drugstore Makeup Haul | 沛莉 Peri
今天是出門後的生活紀錄+隱形眼鏡開箱。啊~~~忘了試露華濃唇粉,下次分享。(我新髮色是紫色唷!超適合那盒唇粉,哈哈)
🎀 影片中使用的商品▼Products I Mentioned▼ LINKS ▼
PEGAVISION / AQUAMAX COLOR DAILY Disposable Soft Contact Lenses # 湮花棕
晶碩光學 / 水滋氧 彩色日拋軟性隱形眼鏡
PEGAVISION / AQUAMAX COLOR DAILY Disposable Soft Contact Lenses # 湮花黑
晶碩光學 / 水滋氧 彩色日拋軟性 #隱形眼鏡
PEGAVISION / AQUAMAX COLOR MONTHLY Disposable Soft Contact Lenses
晶碩光學 / 水滋氧 彩色月拋軟性隱形眼鏡
Bioré UV Oil Control Base UV SPF50+ PA++++
零油光感隔離凝乳UV
Bioré UV Bright Up Base UV SPF 50 + PA++++
明亮光透隔離凝乳UV
🎀 影片中今天的我私穿搭/彩妝品:
帽子 MBL購入
花上衣 Pull&Bear
粉蛋糕裙 淘寶
球鞋 adidas originals
包 YSL
INTEGRATE / CRUSH JELLY FOUNDATION SPF30/ PA++
#INTEGRATE透潤柔光粉底凍
NT$ 630
MAYBELLINE/ Fit Me Matte + Poreless # 112
媚比琳/FIT ME反孔特霧粉底液
M.A.C/141SYNTHETIC
FACE FAN BRUSH
excel / EYEBROW POWDER & PENCIL EX # 05
3合1持久造型眉筆 NT$520
Za/ DUAL-END EYEBROW
Za/3D塑型兩用眉筆
MISSHA /Triple Shadow
MISSHA/三色眼影
VISEE/ GLAMOROUS NUDE EYE PALETTE # BR-1
VISEE/魅綻8色眼彩盤
KATE / FIT RARE GEL PENCIL
KATE/凝色柔滑眼線膠筆
excel / Color Lasting Gel Liner
excel / 持色眼線膠筆
Etude House / Lash Perm Curl Fix Mascara # Black
ETUDE HOUSE睫對出色極限萌翹搶眼睫毛膏(防暈染)
KISSME/Heroine Make Long & Curl Mascara Super WaterproofKISSME花漾美姬新翹力纖長防水睫毛膏
OPERA / Lip Tint Oil Rouge Lipstick
#OPERA渲漾水色唇膏 03
Timido /Color Contact Lens 心動時刻
還有什麼想知道的?再留言問我喲~
🦄️ 更多生活動態追蹤 instagram► peri168
聯絡信箱 ► peritaiwan@gmail.com
🦄️ 歡迎訂閱頻道,記得打開「小鈴鐺」接收通知 ► http://bit.ly/periyoutube
非商業合作影片
This video is not sponsored.
fan control教學 在 沛莉 Peri Story Youtube 的最佳解答
陪我化妝+美甲貼片❤️ 喜歡這樣的化妝紀錄影片嗎?(笑)
🎀 影片中使用的商品▼Products I Mentioned▼ LINKS ▼
Dashing Diva / MAGIC PRESS #MDR116
彩繪光療美甲片
NT$320
第一妝容 ➡️
Optvision / 1-DAY DISPOSABLE COLOR CONTACT LENS #SHINING BLACK
圓瑞 / 旅行日記 彩色日拋隱形眼鏡
NT$299
SHISEIDO / Total Radiance Foundation #Neutre1
資生堂 / 極上御藏光羽紗粉霜SPF15
NT$3000
M.A.C / 141 SYNTHETIC FACE FAN BRUSH
零死角天生美肌粉底刷
NT$1600
INTEGRATE / LOOSE FOUNDATION #0透明色
透亮無瑕美肌蜜粉底
NT$420
excel / EYEBROW POWDER & PENCIL EX #05
3合1持久造型眉筆
NT$520
VISEE / GLAMOROUS NUDE EYE PALETTE #BR-1
魅綻8色眼彩盤
NT$530
Maybelline / Hyper Sharp Liner #BR-1
媚比琳 / 超激細抗暈眼線液
NT$350
Kiss Me / Heroine Make Volume Control Mascara
奇士美 / 花漾美姬變妝圓舞曲轉轉睫毛膏
NT$359
CLINIQUE / Cheek Pop #08 melon pop
倩碧 / 花漾腮紅
NT$800
CLINIQUE / Cheek Pop #02 peach pop
倩碧 / 花漾腮紅
NT$800
OFRA / LONG LASTING LIQUID LIPSTICK #Miami Fever
魅惑長效液態唇膏
NT$690
第二妝容 ➡️
Biju Biju / daily disposable soft color contact lense #DNA棕
碧琇 / 彩色日拋軟性隱形眼鏡
LA ROCHE-POSAY / PPD33 UVIDEA XL Cream 50 SPF50
理膚寶水 / 全護清爽防曬液UVA PRO 潤色SPF50
NT$980
INTEGRATE / PRO QUALITY FOUNDATION
柔焦輕透美肌粉餅
NT$370
MAYBELLINE / TATTOO BROW ink pen
媚比琳 / 四重奏持久眉彩梳
NT$400
1028 / artist palette
自我組藝眼影
NT$119 / 顆
MAYBELLINE / HYPER TIGHT LINER
媚比琳 / 美型角度隱形眼線液筆
NT$380
TOO FACED
Natural Face Palette
NT$1,200
L`OREAL PARiS / Colour Riche Shine Lipsticks #905
巴黎萊雅 / 絕對情迷鏡面唇膏
NT$420
🦄️ 更多生活動態追蹤 instagram► peri168
聯絡信箱 ► peritaiwan@gmail.com
🦄️ 歡迎訂閱頻道,記得打開「小鈴鐺」接收通知 ► http://bit.ly/periyoutube
非商業合作影片
This video is not sponsored.
fan control教學 在 (介紹)筆電NBFC風扇控制(起飛?)軟體 - Mobile01 的美食出口停車場
... 可能會讓你筆電的風扇低於預期轉速或者停轉,重者會損壞筆電!!!首先我們先來說文解字一下NBFC =NoteBook Fan Control筆電(其他應用軟體第1頁) ... <看更多>
fan control教學 在 民樂電腦- #分享表單教學又來啦,不過這次是WPForms 有 ... 的美食出口停車場
Macs Fan Control 是一種軟體,主要能有效地控制風扇轉速,對於舊款個人一般電腦PC,以及蘋果電腦iMac 系列,都非常的好用。軟體本身支援中文化介面,以及容量很小, ... ... <看更多>
fan control教學 在 [請益] 風扇轉速控制….軟體有推薦嗎- 看板PC_Shopping 的美食出口停車場
目前都是用ASUS自家的AI suite 3去控制風扇啦
但Ai suite的爛 大家都知道
但又苦於不知道有什麼其他軟體能控制風扇轉速的
各位有推薦的嗎
不然Ai Suite 3每次我調低轉速
大概開遊戲沒多久又被拉高轉速了
有夠吵
但在低轉速的情況下
溫度怎麼觀察也只是在60幾度而已
實在不太需要高轉
有推薦的軟體嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.71.123.77 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1624713693.A.3DC.html
很麻煩…..
... <看更多>