📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
同時也有18部Youtube影片,追蹤數超過3萬的網紅簡少年,也在其Youtube影片中提到,#正緣 #真愛 #turelove 月老恩緣,何時出現!? 這一課教大家如何找到你的真命天子,如果你覺得一直都找不到真愛,那麼你就有可能是誤解了正緣的意思了,而且很多人都其實不會看愛情線,上完這一課,讓你人知道愛情線原來要這樣看。 我是簡少年,人稱 新創科技圈的國師 是互聯網創業者,也是專業命理看...
「function of art」的推薦目錄:
- 關於function of art 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於function of art 在 This is Mr. B Facebook 的精選貼文
- 關於function of art 在 Tom Rook Art Facebook 的精選貼文
- 關於function of art 在 簡少年 Youtube 的最讚貼文
- 關於function of art 在 山水畫家的藝術Taiwan Artist World Youtube 的最佳解答
- 關於function of art 在 Lollalane Youtube 的最佳貼文
- 關於function of art 在 The Functions of Art | Art Appreciation - YouTube 的評價
- 關於function of art 在 FUNCTION ART DESIGNNED 公雞擺飾 - Facebook 的評價
- 關於function of art 在 190 Art/Social function, going out ideas - Pinterest 的評價
function of art 在 This is Mr. B Facebook 的精選貼文
巴黎迪士尼都宣佈佢哋今個夏天將推出付款購買遊樂設施嘅FastPass - Disney Premier Access. 運用官方手機應用程式俾錢購買, 每項設施收費8歐元至15歐元不等, 並視乎當日人流而有所調整.
首8項納入Disney Premier Access 嘅遊樂設施包括:
- Big Thunder Mountain
- Hyperspace Mountain
- Peter Pan’s Flight
- Buzz Lightyear Laser Blast
- Star Tours
- Autopia
- Twilight Zone Tower of Terror
- Ratatouille: L’Aventure Totalement Toquée de Rémy
巴黎迪士尼嘅手機App 提供越來越多一站式功能. 包括酒店Online Check-in; 喺Hotel New York – The Art of Marvel 提供Super Hero Station Mobile Booking 用手機App 預約同Spider-Man 見面; 稍後時間將推出Food Hub 優先訂座度假區餐飲.
仲有去年已推出嘅虛擬排隊系統Standby Pass, 減少喺遊樂設施嘅等候時間.
因應Standby Pass 同新推出嘅Premier Access, 官方亦公佈將廢除園內嘅傳統FastPass.
香港迪士尼個手機App 可以加入多D function 嗎?
function of art 在 Tom Rook Art Facebook 的精選貼文
(English below)
台中2021。原來我這個月有在台中的展覽,可是因為台灣有level 3我就會2022有。我五月換了幾分我的舊台中市地圖。
Taichung 2021. Originally I was gonna unveil this at an exhibition in Taichung this month. Sadly given level 3 I've had to postpone to 2022. It's a little easier to view this on instagram @ tomrookart as the scroll function works nicely there
In May I redid parts of the Taichung map from 2014. I added the new mrt, train station, a lot of new towers, and the growing parks at Shuinan. This is one of the larger drawings I've made. In a year or two I will have forgotten how difficult it is to deal with stuff this size and will probably make some more like this!
#art #citymap #taichung #taichungmap #chungle #welcometothechungle #concretejungle #drawingcities #pendraw #cartography #drawdrawdraw #artist #tomrookart #pencildrawing #largemap #bigdrawing #detaileddrawing #detail #birdseyeview #mapart #cartographyart #maplove #artlovers
function of art 在 簡少年 Youtube 的最讚貼文
#正緣 #真愛 #turelove
月老恩緣,何時出現!?
這一課教大家如何找到你的真命天子,如果你覺得一直都找不到真愛,那麼你就有可能是誤解了正緣的意思了,而且很多人都其實不會看愛情線,上完這一課,讓你人知道愛情線原來要這樣看。
我是簡少年,人稱 新創科技圈的國師
是互聯網創業者,也是專業命理看相風水師
我創立了桃桃喜
歡迎至官網體驗超高準度測算
https://taotaoxi.net
或是參與面相課程
https://course.taotaoxi.net/programs
#fortunetelling #ChineseAstrology #Palm reader
▶ CREW
出品░░░░░░░░░░░░░░
░░░░░敢不敢娛樂░░░░░
YouTube影片合作聯繫
敢不敢娛樂
claire@dare.tw
line: @063zumet
The Function of Palmistry
Simply put, palmistry is the art of analyzing the physical features of the hands to interpret personality characteristics and predict future happenings. Chiromancy analyses are time-honored: Just as our ancient ancestors gazed into the night sky and created powerful correspondences between the movements of the planets and events here on Earth, palm readers observe how the hand's attributes connect to greater themes. Occult traditions are based on the esoteric axiom "As above, so below," and within palmistry, the palm is accordingly seen as a microcosm of the universe.
function of art 在 山水畫家的藝術Taiwan Artist World Youtube 的最佳解答
#桃園#青埔#書法公園
大園區橫山書法公園暨書法藝術館,位於青埔地區「5-8號陂塘公園」的東北角,大成路二段與大仁路交接處,館區面積約27701平方公尺,為地下1層、地上2層建築物,總樓地板面積2991平方公尺,為台灣第一座由官方經營,以書法藝術為主題的美術館,亦以向民眾收費參觀方式維持營運。
書法藝術館由建築師潘天壹設計,以公園為「硯台」、陂塘為「墨池」的意象發想,將建築外觀以書法篆刻之山型硯石為主體來組構。
基地由左至右以5個方盒子組成,包括展覽空間、館藏空間、教育推廣空間、商業空間、戶外展演場、行政空間及服務性空間等。
初步規劃除定期展出臺灣及國際書法篆刻名家作品外,亦兼具研究調查台灣書法歷史及向大眾推廣之功能,以呈現臺灣豐沛的書畫藝術創作能量。另為深化在地特色,部份展區規劃為大園尖山遺址展示區。
其他空間規劃為文創空間,預計以OT方式委外經營,讓民眾在欣賞文化藝術展覽及館區獨特的陂塘自然美景之餘,能將藝術帶入生活之中,體驗書藝生活美學。
完工後將結合青塘園旁的桃園市立美術館形成藝文廊帶,成為桃園地區休閒新景點和藝文新地標。
書法藝術館為2017年9月開工,預計2019年9月竣工,但由於諸多問題尚待解決,經桃園文化局追加預算改善後,力拼2021年秋季開館。
Dayuan Hengshan Calligraphy Park and Calligraphy Art Museum is located at the northeast corner of "No. 5-8 Pitang Park" in Qingpu District, at the junction of Section 2 of Dacheng Road and Daren Road. The area of the museum area is about 27,701 square meters, and it is 1 underground level. , A two-story building on the ground with a total floor area of 2991 square meters. It is Taiwan’s first officially operated art museum with the theme of calligraphy. It also maintains operations by charging the public for visits.
The Calligraphy Art Museum was designed by the architect Pan Tianyi. The park is the "inkstone" and the Pitang is the "inkstone".
The base consists of 5 square boxes from left to right, including exhibition space, collection space, education promotion space, commercial space, outdoor exhibition space, administrative space and service space.
In addition to regularly exhibiting works by famous Taiwanese and international calligraphy and seal carving masters, the preliminary plan also has the function of researching and investigating the history of Taiwan's calligraphy and promoting it to the public, so as to show Taiwan's abundant calligraphy and calligraphy artistic creation energy. In order to deepen the local characteristics, part of the exhibition area is planned as the Dayuan Jianshan Site Exhibition Area.
The other space is planned as a cultural and creative space, which is expected to be outsourced in OT mode, so that the public can bring art into life and experience the aesthetics of calligraphy and life while enjoying cultural and art exhibitions and the unique natural beauty of Pitang in the museum area.
After completion, it will be combined with the Taoyuan Municipal Art Museum next to Qingtang Garden to form an art gallery belt, which will become a new leisure attraction and a new art and cultural landmark in the Taoyuan area.
The calligraphy art museum started in September 2017 and is expected to be completed in September 2019. However, due to many issues that have yet to be resolved, the Taoyuan Cultural Bureau will strive to open the museum in the fall of 2021 after the additional budget has been improved.
►►►歡迎訂閱梁震明頻道:https://bit.ly/33R0bmf
►►►梁震明臉書粉絲頁:https://www.facebook.com/inkliang/
►►►梁震明痞客邦:http://tom20030208.pixnet.net/blog
►►►梁震明IG:https://www.instagram.com/liang_chenming_art/
【梁震明簡歷】
國立台北藝術大學美術創作研究所畢業。
曾任國立台南藝術大學藝術史系及東海大學美術學系講師。
個展12次,國內外聯展30餘次。
作品曾在香港蘇富比、羅芙奧及沐春堂拍賣成交。
著作「墨色的真相」與「台灣寺廟龍柱造型之研究」獲國立編譯館出版刊行。
現為羲之堂代理之專職水墨畫家。
「山水畫家的藝術」頻道推薦播放清單:
梁震明水墨作品賞析:https://youtube.com/playlist?list=PL5EQF72_a8UD9nXm38PQcabEIbffxyp-h
梁震明水墨創作介紹:https://youtube.com/playlist?list=PL5EQF72_a8UATfktfF0G6o3zCLipJvc-n
水墨藝術材料介紹:https://youtube.com/playlist?list=PL5EQF72_a8UDs1alttOymTOkXl3IhRW04
紓壓療癒輕音樂空拍影片:https://youtube.com/playlist?list=PL5EQF72_a8UCrrHknKxWuwRy8UIh6EnUQ
台灣海景空拍影片分享:https://youtube.com/playlist?list=PL5EQF72_a8UD471Ieo4YaalS5yvbDAIyu
4K畫質空拍影片分享:https://youtube.com/playlist?list=PL5EQF72_a8UD72YQD4vgRR9NaI-brI-4Q
桃園青埔特區記錄:https://youtube.com/playlist?list=PL5EQF72_a8UBSI3tWDXsgQUuzgKzRSGxY
新北景點空拍:https://youtube.com/playlist?list=PL5EQF72_a8UAfbQybqr__G4cLGrtVugsl
桃園景點空拍:https://youtube.com/playlist?list=PL5EQF72_a8UBweKa4jfWGZW39J9ASipD7
新竹景點空拍:https://youtube.com/playlist?list=PL5EQF72_a8UAk7e3AvAuU6IWQsbvn49e6
宜蘭景點空拍:https://youtube.com/playlist?list=PL5EQF72_a8UCnNCun9gC5UM3In0ztXDG_
#DJI #dronefootage #dronevideo #dronephotography #dronestagram #drones #fpv #djiglobal #photography #pro #aerialphotography #dronepilot #travel #nature #dronefly #fpvfreestyle #quadcopter #dronevideo
function of art 在 Lollalane Youtube 的最佳貼文
Phomemo is my latest addition to my journaling supplies! It is a thermal printer that requires no ink, and with its self-adhesive paper, I basically can print important notes, quotes, to-do lists or even images and stick them into my journal whenever I want. it is so small and light weight so there wont be any fuss to carry around. By using their app, you could access to their image library with loads of templates, frames, schedules and cute images. You could also print images from your image gallery or even scan lines in your favorite books with its scan function!
Check this lovely product out, it will be a great help in your everyday planning and journaling! Use my coupon code " LOLLALANE " during checkout :D
Phomemo Website: https://phomemo.com/
Phomemo Instagram: phomemo_official
----------------------------------------------------------------------------------------
You could find most of my stationery that I used in this video from the Instagram accounts as follow,
@niconeco_zakkaya
@stickeriffic
@pipitzakkastore
@sumthingofmine
@pengallery
-----------------------------------------------------------------------------------
Soundtrack:
Bug Catching by Emily A. Sprague
-----------------------------------------------------------------------------------
Please comment down below if you have any question or feedback, would love to hear from you all.
Don't forget to subscribe and show me some love if you want to see more updates from me!
-------------------------------------------------------
You may also reach me at
Instagram: Lollalane
Email: lollalanejournal@gmail.com
function of art 在 FUNCTION ART DESIGNNED 公雞擺飾 - Facebook 的推薦與評價
FUNCTION ART DESIGNNED 公雞擺飾 by 元好瓷藝. 12 Likes1 comment. 元好瓷藝 and 11 others like this. Loading... Try Again. Cancel. Loading... Loading... ... <看更多>
function of art 在 190 Art/Social function, going out ideas - Pinterest 的推薦與評價
Oct 25, 2022 - Explore Sherry Lipscomb's board "Art/Social function, going out", followed by 4025 people on Pinterest. See more ideas about art, painting, ... ... <看更多>
function of art 在 The Functions of Art | Art Appreciation - YouTube 的推薦與評價
This video discusses another relevant topic covered in Art Appreciation, the functions of art - personal, social, and physical functions. ... <看更多>