📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
同時也有10部Youtube影片,追蹤數超過6,530的網紅こまつりなチャンネル / Rina Komatsu Ch.,也在其Youtube影片中提到,寝落ち推奨の睡眠導入配信です! 詩の朗読をしたり、いただいたコメントにお返事をする、いつもよりもゆったり静かななごみ系おやすみ配信です。 明日起きなきゃいけない方はアラームのセットをお忘れなく! 作業用BGMにもどうぞ! ※この配信は音の鳴る動画広告が入らないようにしています。 ※YouTubeの...
「continuous function」的推薦目錄:
- 關於continuous function 在 Taipei Ethereum Meetup Facebook 的精選貼文
- 關於continuous function 在 KEN.L PHOTOGRAPHY Facebook 的最讚貼文
- 關於continuous function 在 KAKA LAM 嘉嘉 Facebook 的最讚貼文
- 關於continuous function 在 こまつりなチャンネル / Rina Komatsu Ch. Youtube 的最讚貼文
- 關於continuous function 在 こまつりなチャンネル / Rina Komatsu Ch. Youtube 的精選貼文
- 關於continuous function 在 こまつりなチャンネル / Rina Komatsu Ch. Youtube 的最讚貼文
continuous function 在 KEN.L PHOTOGRAPHY Facebook 的最讚貼文
In 2017, FUJIFILM launched the first medium format camera - GFX50S, and finally launched GFX50S II today after 4 years waiting. Although the second generation is used along the same 50MP Sensor, it is replaced by the GFX100S body design. The T125 is replaced with a new battery W235, and the power is multiplied; also used the same X-Processor 4 like GFX100S too, so that made the system is integrated; With the new design of GFX100S 5-axis 6 stops IBIS, equipped with specific lenses, the stabilisation can go up to 6.5 stops.
Once I was a user of the GFX50S, I was introduced to the X-Photographer team when GFX series was launched, . The impression of this machine is particularly profound. In the past week of using the prototype GFX50Sii, i have a little experiences would like to share.
The picture quality of this machine is absolutely unquestionable, although there is no 100S BSI Sensor focusing system that fast, but it is clearly improved with the first generation 50S focus system, especially in low light environment. The eye's focus sensitivity is also more than whole GFX50 series, there is no high speed and slow continuous shooting but 3shots pre second, and the picture is as detailed with the GFX50S.
The Dynamic Range of GFX50S II only have 12stops (GFX100S 14stops), RAW file is only 14-bit (GFX100S Up to 16-bit), but it is actually very sufficient for general users. Since 50S II has an IBIS system, the Pixel Shift function is retained, and can merge up to 200MP image, which is suitable for products, landscapes, and architecture photograph.
Due to the previous generation of sensor, the filming system can only reach 1080p 30fps, there is no 4K shooting. If you want to do video with this camera, you should consider it.
The price will be cheaper than GFX50R when it first released, I believe it will become the most attractive "entry" medium format camera in the market!
JPG file editied with Capture One Pro 21
Lighting by Profoto B10 LED with OCF Gel kit
Fujifilm UK & Ireland Fujifilm Global Fujifilm X Series US FUJIFILM Hong Kong Fujifilm X Singapore FUJIFILM Malaysia Fujifilm Philippines Fujifilm Danmark FUJIFILM X WORLD
continuous function 在 KAKA LAM 嘉嘉 Facebook 的最讚貼文
PRODUCT REVIEW - FRANCFRANC
1. FRANCFRANC DESK FAN FRAIS AROMA DESK FAN WHITE
💡DETAILS: [DESCRIPTIONS]: [2021 NEW model] A new trendy color has been added to the compact and multifunctional desk fan! [Small but full of features] A rechargeable fan that can be quickly carried to anywhere. It is perfect to use on a desk. You can use it comfortably without occupying a limited space. Although it is small in size, it is equipped with a 3-step air volume adjustment and a safe auto-off function. The aroma pad will allow you to enjoy your favorite scent in the wind [Circulator function that can be used all year round] Since it can be turned 90 degrees upward, it circulates the air in the room and improves the efficiency of the air conditioner. It is also convenient for drying laundry that is dried in the room. It is a nice feature that makes an outstanding performance all year round regardless of the season. [Gently illuminates the good night time] With a 3-step dimming function, it can also be used as a night light at the bedside. Place it on the bedside and enjoy the cool breeze and light at the same time. [SPECIFICATIONS]: [Size] W181 × D126 × H265mm Cord length: Approximately 2m [Material] Body: ABS, splash, aroma case Inside: PP
✳️INFO: [CARE INSTRUCTION]: Air volume: 3 levels (weak, medium, strong) + rhythm wind + With auto-off function (7 hours) + With rhythm mode + Dimming switching: 3 levels (weak, medium, strong) + Manual wind direction adjustment support (upward 90 degrees) + Left and right automatic swing (120 degrees) + USB power supply + Aroma support + Accessories: Aroma pad x 3 ( Installed x 1, included x 2), USB cable + Power supply: DC5V 4000mA + Battery: Lithium-ion storage battery + Charging time: Approximately 6.5 hours (Depending on the power supply capacity of the connected device It can be extremely long) + Continuous use time: Maximum air volume approx. 2 hours 30 minutes, minimum air volume approx. 7 hours (Depends on the strength of the air volume used) + Wings: Approximately 13 cm in diameter + Do not splash water on the main body + Please do not use it within the reach of children + Do not use or store in a humid place such as a bathroom or in a hot place near a heater + Do not install near unstable places or flammable objects + Use the included USB cable and do not damage the cable + Instruction manual: Yes + Warranty: Yes Warranty period: 6 months
✅RATING: 10/10
🔴MY REVIEW: I have been looking for a multi-function fan with aroma function and night light to use next to my side of the bed. This little fan was way better than what I was expecting. It comes with Lithium-ion storage battery that lasts for a long time or I can leave it plugged-in to USB power. The fan offers three quiet speeds that are surprisingly powerful and quiet. It also has three variable brightness lights, which can be used as a night light. For me, this Japanese brand is a guarantee of product credibility. Definitely recommend.
📌Disclaimer: The above review is purely personal opinion. Not everyone likes what I like. Please note that what may work for me, may not work for anyone else. Results may vary from person to person, so please take this into consideration if you decide to try this product.
🔎OFFICIAL WEBSITE - https://francfranc.com
🔎FACEBOOK - https://www.facebook.com/francfrancjapan
🔎IG - @francfranc_official
🔎IG - @francfranc_life
🔎HK WEBSITE - https://hk.francfranc.net
🔎FACEBOOK - https://www.facebook.com/francfranchk/
🔎IG - @francfranc_hk_official
#francfranc #francfranchk #francfrancfraisfan #francfrancootdfan #techblogger #lifestyleblogger #kakablogs #kakalamipp #kakaipp #lovekakalovelife #kakalovekakalovelife #productreview #shoponline
continuous function 在 こまつりなチャンネル / Rina Komatsu Ch. Youtube 的最讚貼文
寝落ち推奨の睡眠導入配信です!
詩の朗読をしたり、いただいたコメントにお返事をする、いつもよりもゆったり静かななごみ系おやすみ配信です。
明日起きなきゃいけない方はアラームのセットをお忘れなく!
作業用BGMにもどうぞ!
※この配信は音の鳴る動画広告が入らないようにしています。
※YouTubeの連続再生機能をオフにすることをオススメします。
It is a new project, Sleep inducing live stream recommended for falling asleep!
It is a quieter, more relaxed and quiet good night delivery than usual, where you can read poetry and reply to your comments.
If you have to get up tomorrow, don't forget to set the alarm!
Also for work BGM!
* This live stream does not include video ads that make sounds.
* It is recommended to turn off the continuous playback function of YouTube.
[ 衣装 ]
https://booth.pm/ja/items/2407465
[ 朗読台本 ]
http://www.roudoku.org/play/freetext
♪----------------------------------------------------------------------♪
💿新譜「追懐ディメンション」2020/10/25 リリース!
https://www.komatsurina.com/kmtrn-001
https://youtu.be/EKqc18SQTqY
メロンブックス様でのご購入はこちら!
https://www.melonbooks.co.jp/detail/detail.php?product_id=734724
BOOTHでのダウンロードはこちら!
https://komatsurina.booth.pm/items/2492580
各種ダウンロード配信サイトはこちら!
https://linkco.re/XaAphrv1
♪----------------------------------------------------------------------♪
🌟みなさまへのお願い
気持ちよく配信を楽しんでいただけるように
&初見さんが入りやすい空気づくりのために下記のご協力をお願いします!
・その場にいない方やご自分以外のお名前や話題はお控えください。
・配信内容と関係のない話題はお控えください。
・過度な身内ネタはお控えください。
・その他、見た方が不快に思うコメントはお控えください。
上記のようなコメントを見かけた際も喧嘩せず、スルースキルの発動をお願いします!
♪----------------------------------------------------------------------♪
🎤🍀メンバーシップを解禁しました!
https://www.youtube.com/channel/UCIfJiWRwKhXCjPE51dbMqVg/join
・月額90円
・チャット欄でお名前の色が変わります。
・加入期間に応じてバッジ(アイコン)がついたり、限定絵文字が使えます。
※限定配信、限定動画などはありません。
♪----------------------------------------------------------------------♪
🎥チャンネル登録よろしくお願いします!
https://goo.gl/8FMSEM
🎤ツイキャスはこちら(バイノーラル配信など)
https://twitcasting.tv/kmtn62
💬Twitterのフォローお願いします!
https://twitter.com/kmtn62
🛒BOOTHはこちら(ダウンロード版CD、ボイス販売など)
https://komatsurina.booth.pm/
🎁FANBOX開設しました!
https://kmtrn.fanbox.cc/
♪----------------------------------------------------------------------♪
💭関連ハッシュタグ
全般:こまつりな
配信&切り抜き:こまつりなLive
ファンアート:りなの美術館
ファンネーム:りなんちゅ
推しマーク:🎤🍀
✏こまつりな二次創作ガイドライン
https://kmtrn.fanbox.cc/posts/1776462
💌メッセージ・リクエストはこちらへ!
https://marshmallow-qa.com/kmtn62?utm_medium=url_text&utm_source=promotion
♪----------------------------------------------------------------------♪
狛茉璃奈(こまつりな)公式サイト
https://www.komatsurina.com/
同人音楽サークル『Lilypha』
(代表、作詞、ボーカル担当)
http://lilypha.webcrow.jp/
https://lilypha.booth.pm/
同人音楽サークル『Symholic』
(別名義「Lalue(ラルエ)」としてボーカル参加)
https://www.xorsizer.com/
https://paspal.booth.pm/
#こまつりなLive #Vtuber #睡眠導入
continuous function 在 こまつりなチャンネル / Rina Komatsu Ch. Youtube 的精選貼文
寝落ち推奨の睡眠導入配信です!
詩の朗読をしたり、いただいたコメントにお返事をする、いつもよりもゆったり静かななごみ系おやすみ配信です。
明日起きなきゃいけない方はアラームのセットをお忘れなく!
作業用BGMにもどうぞ!
※この配信は音の鳴る動画広告が入らないようにしています。
※YouTubeの連続再生機能をオフにすることをオススメします。
It is a new project, Sleep inducing live stream recommended for falling asleep!
It is a quieter, more relaxed and quiet good night delivery than usual, where you can read poetry and reply to your comments.
If you have to get up tomorrow, don't forget to set the alarm!
Also for work BGM!
* This live stream does not include video ads that make sounds.
* It is recommended to turn off the continuous playback function of YouTube.
[ 衣装 ]
https://booth.pm/ja/items/2407465
[ 朗読台本 ]
http://www.roudoku.org/play/freetext
♪----------------------------------------------------------------------♪
💿新譜「追懐ディメンション」2020/10/25 リリース!
https://www.komatsurina.com/kmtrn-001
https://youtu.be/EKqc18SQTqY
メロンブックス様でのご購入はこちら!
https://www.melonbooks.co.jp/detail/detail.php?product_id=734724
BOOTHでのダウンロードはこちら!
https://komatsurina.booth.pm/items/2492580
各種ダウンロード配信サイトはこちら!
https://linkco.re/XaAphrv1
♪----------------------------------------------------------------------♪
🌟みなさまへのお願い
気持ちよく配信を楽しんでいただけるように
&初見さんが入りやすい空気づくりのために下記のご協力をお願いします!
・その場にいない方やご自分以外のお名前や話題はお控えください。
・配信内容と関係のない話題はお控えください。
・過度な身内ネタはお控えください。
・その他、見た方が不快に思うコメントはお控えください。
上記のようなコメントを見かけた際も喧嘩せず、スルースキルの発動をお願いします!
♪----------------------------------------------------------------------♪
🎤🍀メンバーシップを解禁しました!
https://www.youtube.com/channel/UCIfJiWRwKhXCjPE51dbMqVg/join
・月額90円
・チャット欄でお名前の色が変わります。
・加入期間に応じてバッジ(アイコン)がついたり、限定絵文字が使えます。
※限定配信、限定動画などはありません。
♪----------------------------------------------------------------------♪
🎥チャンネル登録よろしくお願いします!
https://goo.gl/8FMSEM
🎤ツイキャスはこちら(バイノーラル配信など)
https://twitcasting.tv/kmtn62
💬Twitterのフォローお願いします!
https://twitter.com/kmtn62
🛒BOOTHはこちら(ダウンロード版CD、ボイス販売など)
https://komatsurina.booth.pm/
🎁FANBOX開設しました!
https://kmtrn.fanbox.cc/
♪----------------------------------------------------------------------♪
💭関連ハッシュタグ
全般:こまつりな
配信&切り抜き:こまつりなLive
ファンアート:りなの美術館
ファンネーム:りなんちゅ
推しマーク:🎤🍀
✏こまつりな二次創作ガイドライン
https://kmtrn.fanbox.cc/posts/1776462
💌メッセージ・リクエストはこちらへ!
https://marshmallow-qa.com/kmtn62?utm_medium=url_text&utm_source=promotion
♪----------------------------------------------------------------------♪
狛茉璃奈(こまつりな)公式サイト
https://www.komatsurina.com/
同人音楽サークル『Lilypha』
(代表、作詞、ボーカル担当)
http://lilypha.webcrow.jp/
https://lilypha.booth.pm/
同人音楽サークル『Symholic』
(別名義「Lalue(ラルエ)」としてボーカル参加)
https://www.xorsizer.com/
https://paspal.booth.pm/
#こまつりなLive #Vtuber #睡眠導入
continuous function 在 こまつりなチャンネル / Rina Komatsu Ch. Youtube 的最讚貼文
新企画、寝落ち推奨の睡眠導入配信のASMRバージョンです!
詩の朗読をしたり、いただいたコメントにお返事をする、いつもよりもゆったり静かななごみ系おやすみ配信です。
明日起きなきゃいけない方はアラームのセットをお忘れなく!
作業用BGMにもどうぞ!
※この配信は音の鳴る動画広告が入らないようにしています。
※YouTubeの連続再生機能をオフにすることをオススメします。
It is a new project, Sleep inducing live stream recommended for falling asleep!
It is a quieter, more relaxed and quiet good night delivery than usual, where you can read poetry and reply to your comments.
If you have to get up tomorrow, don't forget to set the alarm!
Also for work BGM!
* This live stream does not include video ads that make sounds.
* It is recommended to turn off the continuous playback function of YouTube.
[ 衣装 ]
https://booth.pm/ja/items/2407465
[ 朗読台本 ]
http://www.roudoku.org/play/freetext
♪----------------------------------------------------------------------♪
💿新譜「追懐ディメンション」2020/10/25 リリース!
https://www.komatsurina.com/kmtrn-001
https://youtu.be/EKqc18SQTqY
メロンブックス様でのご購入はこちら!
https://www.melonbooks.co.jp/detail/detail.php?product_id=734724
BOOTHでのダウンロードはこちら!
https://komatsurina.booth.pm/items/2492580
各種ダウンロード配信サイトはこちら!
https://linkco.re/XaAphrv1
♪----------------------------------------------------------------------♪
🌟みなさまへのお願い
気持ちよく配信を楽しんでいただけるように
&初見さんが入りやすい空気づくりのために下記のご協力をお願いします!
・その場にいない方やご自分以外のお名前や話題はお控えください。
・配信内容と関係のない話題はお控えください。
・過度な身内ネタはお控えください。
・その他、見た方が不快に思うコメントはお控えください。
上記のようなコメントを見かけた際も喧嘩せず、スルースキルの発動をお願いします!
♪----------------------------------------------------------------------♪
🎤🍀メンバーシップを解禁しました!
https://www.youtube.com/channel/UCIfJiWRwKhXCjPE51dbMqVg/join
・月額90円
・チャット欄でお名前の色が変わります。
・加入期間に応じてバッジ(アイコン)がついたり、限定絵文字が使えます。
※限定配信、限定動画などはありません。
♪----------------------------------------------------------------------♪
🎥チャンネル登録よろしくお願いします!
https://goo.gl/8FMSEM
🎤ツイキャスはこちら(バイノーラル配信など)
https://twitcasting.tv/kmtn62
💬Twitterのフォローお願いします!
https://twitter.com/kmtn62
🛒BOOTHはこちら(ダウンロード版CD、ボイス販売など)
https://komatsurina.booth.pm/
🎁FANBOX開設しました!
https://kmtrn.fanbox.cc/
♪----------------------------------------------------------------------♪
💭関連ハッシュタグ
全般:こまつりな
配信&切り抜き:こまつりなLive
ファンアート:りなの美術館
ファンネーム:りなんちゅ
推しマーク:🎤🍀
✏こまつりな二次創作ガイドライン
https://kmtrn.fanbox.cc/posts/1776462
💌メッセージ・リクエストはこちらへ!
https://marshmallow-qa.com/kmtn62?utm_medium=url_text&utm_source=promotion
♪----------------------------------------------------------------------♪
狛茉璃奈(こまつりな)公式サイト
https://www.komatsurina.com/
同人音楽サークル『Lilypha』
(代表、作詞、ボーカル担当)
http://lilypha.webcrow.jp/
https://lilypha.booth.pm/
同人音楽サークル『Symholic』
(別名義「Lalue(ラルエ)」としてボーカル参加)
https://www.xorsizer.com/
https://paspal.booth.pm/
#こまつりなLive #Vtuber #ASMR
continuous function 在 Continuous Functions - Math is Fun 的相關結果
A function is continuous when its graph is a single unbroken curve ... ... ... that you could draw without lifting your pen from the paper. That is not a formal ... ... <看更多>
continuous function 在 Continuous Function -- from Wolfram MathWorld 的相關結果
A continuous function can be formally defined as a function f:X->Y ... Many mathematicians prefer to define the continuity of a function via a so-called ... ... <看更多>
continuous function 在 連續函數- 維基百科,自由的百科全書 的相關結果
連續函數(英語:Continuous function)是指函數在數學上的屬性為連續。直觀上來說,連續的函數就是當輸入值的變化足夠小的時候,輸出的變化也會隨之足夠小的函數。 ... <看更多>