📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
同時也有180部Youtube影片,追蹤數超過36萬的網紅LADIES FIRST,也在其Youtube影片中提到,Re-Introducing Ladies First. Hello everyone, we are finally back from our little hiatus, hope you didn't miss us too much! This is our first ever Fa...
「smart art」的推薦目錄:
- 關於smart art 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於smart art 在 軟體開發學習資訊分享 Facebook 的最佳解答
- 關於smart art 在 VOGUE Taiwan Facebook 的最佳貼文
- 關於smart art 在 LADIES FIRST Youtube 的最佳貼文
- 關於smart art 在 KT Kratae Youtube 的最讚貼文
- 關於smart art 在 Smart Travel Youtube 的最佳解答
- 關於smart art 在 SMART ART Think it. We'll Print it. - Home | Facebook 的評價
- 關於smart art 在 Smart Art (SmartArtBox) | Official Pinterest account 的評價
- 關於smart art 在 Accessing SmartArt shapes when the SmartArt is inside a ... 的評價
smart art 在 軟體開發學習資訊分享 Facebook 的最佳解答
SiFive 的工作職缺,裡面也有在找 Web 前端和 DevOps 工程師
https://www.sifive.com/jobs
smart art 在 VOGUE Taiwan Facebook 的最佳貼文
#VOGUE300超奢華夢幻大禮搶先看
大家瘋狂敲碗的【時尚行頭】品項終於來啦!
生火指數破表🔥來看看有哪些時髦好物👇
Coach 拉鍊零錢包、 Havaianas Street Bag 時尚潮流小包、 JEpoque Diffuser Tokyo // SG1109 日本製牛油革圓筒眼鏡盒、KlassiC. HANDMADE. - M126 墨鏡、New Balance 574 復古跑鞋、 ROAV Eyewear Taiwan 太陽眼鏡、Scheming GG 服飾、 Triumph Shaping Smart 智能塑型系列、@嘉晏 for art' sake太陽眼鏡、 🎁
這些時尚配件,人人都有機會全數帶走🛍
趕緊購買VOGUE 300期,成為獨一無二的幸運兒
更多大禮看這裡 -> https://pse.is/3npalj
#VOGUE300 #VOGUE300開箱 #超奢華夢幻大禮 #史上最寵粉 #VOGUE慶生
smart art 在 LADIES FIRST Youtube 的最佳貼文
Re-Introducing Ladies First.
Hello everyone, we are finally back from our little hiatus, hope you didn't miss us too much! This is our first ever Fashion Film, we hope you enjoyed it as much as we adored making it. As you can tell from the film, and our Instagram (@ladiesfirsttv), we have a brand new look, feel, and direction, but will still bring you the quality content you know and love!
Special thanks to
Gabe Tan - https://www.instagram.com/g.abetan/
QiYan Tan - https://www.instagram.com/ordinary_rice
Cake Spade for the cakes! - https://www.instagram.com/cakespadesg/
Make Them Jealous for the clothes! - https://www.instagram.com/make.them.jealous/?hl=en
Follow us!
Amander - instagram.com/amandersings
Jasmine - instagram.com/jasminelhr
Sierra - instagram.com/sierralixing
Tasha - instagram.com/tashh6
Ladies First - instagram.com/ladiesfirsttv
Follow our Podcast - GIRL CODE:
https://open.spotify.com/show/2MUs5cn6kLie8aKtAyOcnu?si=-Hple_qlQVSCR5KxL2_WRg&dl_branch=1&nd=1
You can send us cards, letters, and gifts to our P.O Box :
Titan Digital Media Pte Ltd
Singapore Post Centre
PO Box 680
Singapore 914023
For business enquiries, please send an email to kexin@titandigitalmedia.com
http://www.titandigitalmedia.com
smart art 在 KT Kratae Youtube 的最讚貼文
ผ่านไปแล้วกว่าสองสัปดาห์ กับ วิลิศมาหรา ซิงเกิ้ล Cover ล่าสุด จากสาวกระแต อาร์สยาม ที่ได้รับการตอบรับอย่างท่วมท้น วันนี้เราจะพามาติดตามชมเบื้องหลังการถ่ายทำมิวสิควิดีโอเพลง วิลิศมาหรา ที่กว่าจะเดินทางมาถึง 4,500,000 วิว ไม่ได้โรยกลีบกุหลาบ ไปติดตามชมพร้อมพร้อมกันเลยค่ะ
#กระแตRsiam
#GODDESS
#Wilisamala
#วิลิศมาหรา
#โตมากับอาร์เอส
#วิลิศมาหรา2021
#Rsiam
Original by : KAE WANNISA
Lyrics by : WINAI JARAS-AACHA
Originally arranged by : AUMPORN CHAOWIANG
Directed by : KRATAE RSIAM
Produced by : BOTCASH
Exclusive Music Producer : KRATAE RSIAM
Music Video Team
Directed by : KT TEAM
Director of Photography : MAX B / MARK AZHER
Assistant Director : TANGUY
Art Director : UNKUNIYA
Production Manager : TANGUY
Lighting Team : AZHER PRODUCTION
Editor : MARK AZHER
Stylist Team : UNKUNIYA
Costume Designer : UNKUNIYA
Makeup 1 : KHAOTOO
Hair 1: AWL_HAIRARTIST
Makeup 2 : GOLFXMUA
Hair 2 : NINLAGAR
Dance Team
Dancer and Choreography by : TOSHI / TEXAS
Executive Choreographer : BOADJR GIMMICKFORCE
Dancer : TOLDY B / TONPHAI / SMART I AM BAZIC / GENO GGEEYONCE / LOOKTARN BAILEE / SMYNELYNRA
Sponsor : KATHY COSMETICS, LADAWAN THE WEDDING PLANER, IYARA PREMIUM FRUITES
Lyrics
มั่นคงเหมือนทัชมาฮาล นุ่มนวลเหมือนพรมวิเศษ
เนรมิตให้ได้ดั่งใจ เหมือนมีตะเกียงวิเศษ
พ่น พ่นเข้าไป กี่อาคมก็พ่นเข้าไป
เสกและสรรมาซะจน หัวใจระทกระทวย
เธอสร้างวิมานลอยฟ้า รักเธอช่างอลังการ
เธอมีรักเดียวใจเดียว สัญญารักฉันคนเดียว
พ่น พ่นเข้าไป กี่คารมก็พ่นเข้าไป
เสกและสรรมาซะจน หัวใจระทกระทวย
วิลิศมาหรา วิลิศมาหรา
เริ่ดนะจ๊ะ เริ่ดนะจ๊ะ เล่นเราซะเคลิ้มเลย
วิลิศมาหรา พูดจาซะหรูเลย
ทำไม่ได้ ทำไม่ได้ ก็อยู่เฉยๆเลย
ไม่.......ต้อง.........โม้........
เธอสร้างวิมานลอยฟ้า รักเธอช่างอลังการ
เธอมีรักเดียวใจเดียว สัญญารักฉันคนเดียว
พ่น พ่นเข้าไป กี่คารมก็พ่นเข้าไป
เสกและสรรมาซะจน หัวใจระทกระทวย
วิลิศมาหรา วิลิศมาหรา
เริ่ดนะจ๊ะ เริ่ดนะจ๊ะ เล่นเราซะเคลิ้มเลย
วิลิศมาหรา พูดจาซะหรูเลย
ทำไม่ได้ ทำไม่ได้ ก็อยู่เฉยๆเลย
ไม่.......ต้อง.........โม้........
วิลิศมาหรา วิลิศมาหรา
ติดตามความเคลื่อนไหวของ กระแต Rsiam เพิ่มเติมได้ที่
กระแต Rsiam Official Instagram : shorturl.at/itGNR
กระแต Rsiam Official Facebook : shorturl.at/cAIV2
กระแต Rsiam Official Youtube : shorturl.at/dipHO
smart art 在 Smart Travel Youtube 的最佳解答
#娛樂八卦 #SmartTravel #UA戲院 #全線結業 #蕭若元遊學修 #蕭若元 #遊學修 #影視新勢力 #Netflix #CoolStyle #林建岳 #古天樂 #馮德倫 #Angelababy #KimChou #uacinema #林建岳接收UA
【空姐爆料】系列, 專業人士、家庭主婦、OL、行政人員、男士、傳媒亦喜歡報導我的呢個 #SmartTravel, 可以滿足你 #娛樂、輕鬆、#剝花生 #旅遊資訊 #平吃買玩 #各地文化, 要睇梗係睇原汁原味, 你係咩人就會支持返咩嘅youtuber, 國際華人傳媒, 最喜歡報道Smart Travel
https://youtube.com/playlist?list=PLhKZNoNE4iEf-Rsl1fa8Um8aY2Yl86Q95
大家可以透過Payme, 支持下我同貓貓阿Cash, 打賞打賞鼓勵鼓勵:
https://payme.hsbc/smarttravel
?合作邀約請洽
gold7778@gmail.com
https://www.instagram.com/gold7778t/
成為這個頻道的會員並獲得獎勵:
https://www.youtube.com/channel/UCIuNPxqDGG08p3EqCwY0XIg/join
請用片右下角調4K睇片。
呢條影片係會講下隨著UA Cinemas全線結業, 田啟文擔心影響外國投資者嚟香港,那邊廂 ,又有人靜靜起革命,喺度創造出「影視新霸權」,正所謂一雞死一雞鳴,有危就有機,香港人從來都懂得英雄造時勢。
UA Cinemas(娛藝院線)今日宣佈全線結業,啟動清盤程序,遣散逾百員工,昨晚起開始停售戲票。UA陪伴港人36年,為香港影業創不少先河,包括首間引入「口述影像」上映的《逆流大叔》,可讓視障人士使用專用接收器,聽口述影像欣賞電影,打破電影界限,早年UA亦是首間於2007年引進IMAX巨幕技術,再次吸引戲迷進場支持。
受疫情影響收入,電影業界擔心UA Cinemas結業會引起「骨牌效應」,田啟文今早接受電台訪問表示:「好震驚,UA係龍頭院線,提升港人選戲嘅選擇,佢喺暑假排片都係第一手外語片,此消彼長,排得咁好,變咗華語片比較失色,但對觀眾係好事,因為同外國同步,有時嗰邊都未做,反而香港上映先。」
田啟文稱疫情下排戲院座位只可排一半,經營百上加斤,聽聞之前UA想賣盤,不過因為UA旗下七間戲院均位於黃金地段,惟市況欠佳,未有「白武士」出手,最終只賣出一間,「佢哋一直想賣盤等有心人去經營,但係而家都頂唔順,電影一直難做,市場萎縮,租金人工上漲」。田啟文指身為業界人士,最擔心驚影響投資者來香港,「咁大間龍頭院線都頂唔順,咁即係冇得做啦,咁就唔喺香港投資拍電影」。
如果要話外國人唔嚟香港投資拍電影,不如思考下全球電影生態嘅轉變,以致日後香港電影嘅生存之道,如今娛樂事業嘅大趨勢就係科技!串流媒体!同埋原创!
网上播放電影、電視將會係未来的趋势,自從第75屆威尼斯影展上,Netflix出產兼發行的《羅馬》不但首度進入國際影展,還贏得最高榮譽的金獅獎。當年,Netflix的參展作品多達六部,也引起關注乃至爭議。
因為獎項的背後還帶出另一個信息:隨着Netflix效應雪球愈滾愈大,「擁有龐大資源」的串流平台的推廣, 令傳統電影業陷入困境,早喺幾年前,外國已經開始借助互聯網,稱霸歐美電影市場,而這「稱霸」的背後又給世界帶來什麼影響?
.........................
由於近年網上短片興起,網絡平台亦成為藝人宣傳的主要渠道之一,Cool Style將與各地多個網絡及多個渠道進行線上視頻平台合作,積極打入短視頻及電商行業,將傳統娛樂模式與新經濟互相融合,助香港藝人進入短視頻新興行業發展。
Angelababy成為策略性股東,她表示期待更多的新人和新作品,而剛才提到嗰位經理人Kim Chou就係喺行內被稱為 「煉金術師」入行二十多年,「造星」無數,一手發掘兼捧紅Angelababy(楊穎)、熊黛林、水原希子等當紅明星。本身係台灣模特兒 ,加咗嚟香港嘅Kim, ○七年自立門戶,開設模特兒公司。
她揚言,做模特兒不能只有一個靚字。佢對啲發掘新人甚有心得,佢話「做Model,外表同內在一樣咁重要!所謂相由心生,一定要有內涵,最怕啲人得個靚字,我寧願你個樣麻麻,但識得音樂玩運動,味道都唔同啲。如果性格差,又無內涵,屢勸不改嘅話,再靚都無用,咁咪bye bye囉!」就喺angelababy 14歲未沽牙嘅時候,Kim覺得angelababy當時眼神同表情好有自信,好吸引我,見到佢真人後同張相根本無分別,已經好想同佢合作,但我第一句同佢講嘅係:『你要箍牙喎!』」呢啲先至真正叫做大師 , 難怪咁多個超級巨星都係畀佢一手發掘嘅 。
所以行內除咗英皇嘅many發掘容祖兒出嚟之後 ,大家應該日後會聽多啲呀Kim名㗎喇
馮德倫喺2019年都拍咗netflix嘅《五行刺客》, 亦都好開心與兩間公司合作,並希望日後能幫忙提升短片的質素,打造出有國際視野的本土作品。
我睇到Coolstyle呢一間公司 , 有林建岳強大嘅資金 ,有財力,古天樂香港幕前幕後嘅人員 ,有魅力,Angelababy內地有呀名氣 ,Kim一手發掘巨聲嘅有能力,馮德倫有拍荷里活電影嘅有經驗,外國嘅月光唔係一定係圓嘅 ,但係取長補短 ,馮德倫可以將外國點樣尊重創作同埋劇本呢一樣嘢就已經係 香港影視界要學習嘅地方呀 。我覺得呢一間公司, 有野心去創造全球華人嘅中文版netflix,
......................
「香港電影有本身特色,.....................工業,你見到每個國家都有本身電影,例如馬來西亞、新加坡,即使以前好少有電影出品,但依家都會有,變相令外地觀眾更挑剔,唔係因為我哋拍得唔好,而係佢哋選擇多咗。..........................,你見到有台灣、日本同韓國電影,甚至伊朗同印度電影都有。唔單止係我,其他發行人只要覺得係好電影,就會買返嚟上映。
佢更加講當然唔係每套電影都賺錢,但最緊要係賺多蝕少,就已經無問題,唔可以每套電影都蝕錢。我諗係有個熱誠,如果真係當一盤生意去做,就可能會睇錯,真係要愛嗰件事,鍾意呢套電影,諗法要更純粹,本身真係鍾意,覺得應該帶呢套電影俾觀眾,咁樣就比較容易,
.......................!我哋識目以待 。
要數UA旗下最受歡迎的戲院,相信是旺角朗豪坊及尖沙咀iSQUARE,前者於2004年開業,當年斥資4,000萬大手筆裝修,該址人流極旺,加上座位又較舒適,人氣超越位於西洋菜街的旺角百老匯戲院。至於後者為香港第二間IMAX戲院,首家IMAX戲院亦屬於UA旗下,為九龍灣的UA MegaBox。由當年《阿凡達》(Avatar)、《蝙蝠俠—黑夜之神》(The Dark Knight)到近兩年的《復仇者聯盟3:無限之戰》(Avengers: Infinity War)及《復仇者聯盟4:終局之戰》(Avengers: Endgame),臨上映前都會出現影迷到IMAX戲院撲飛的畫面。
某些UA戲院對於市民來說是地標一樣的存在,例如UA時代廣場是很多情侶的拍拖勝地,該址曾於2012年1月結業,最後一日營業時每場戲的票價只需18元,大批影迷前去捧場懷念一番,甚至有人在時代廣場外舉行燭光集會「悼念」。翌年UA在時代廣場重開戲院,並改以全新院線品牌「CINE TIMES」。
踏入2010年代中期,多間UA戲院陸續轉手或關閉,連人氣最高的UA朗豪坊亦轉手給天馬娛樂旗下的Cinema City戲院,往後皇室戲院、UA東薈城、UA太古城中心、UA沙田,到近兩年UA iSQUARE與機場UA都陸續易手或結業,連開業不到兩年、位於尖沙咀K11 Musea的K11 Art House戲院亦於今年1月被收購。這樣看來,UA院線的終結早在幾年前已有迹可尋,捱得過盜版猖獗的年代,但敵不過天價租金,而去年新冠肺炎疫情政府兩度要求關閉戲院就成為致命一擊。
smart art 在 Smart Art (SmartArtBox) | Official Pinterest account 的推薦與評價
Smart Art | A monthly surprise step-by-step art project. Subscribe today to empower your creativity! Use code "ENJOYART5" for $5 off your first purchase! ... <看更多>
smart art 在 SMART ART Think it. We'll Print it. - Home | Facebook 的推薦與評價
SMART ART Think it. We'll Print it. 28290 likes · 12 talking about this. We Print Wallpapers, Canvas, Textiles, Floor Graphics and more. ... <看更多>