如今加密大环境冷静期,大多数项目自身也陷入启动资金少,宣发困难,新员增量和社区联动无法达到启动规模,圈内名人和打卡社团的高价广告费让小项目方成为第一波韭菜,项目的白名单公售信息无法传递于圈子,于是一个喜闻乐见的好工具Premint及时出现并帮助大量的NFT项目方解决了任务抽奖白名单宣发困难,成为很多NFT发现者的前哨基地。
Premint 平台

这是一个专门用于NFT项目推广的平台,它的赋能和实用性相比其他PFP等NFT项目来得更强。目前,越来越多的项目方一直在使用Premint 服务为其 NFT铸造活动创建许可名单 ,深受整个 web3 社区的喜爱。
并且Premint抽奖的方式对散户较为友好,即便你没有太多资金,没有太多账户,也是可以参加的,并且有概率中奖。如果遇到大蓝筹,想有更多的账户中奖,就需要去创建尽可能多的账户。
假如中奖了,但其NFT的价格并不理想,也选择不去mint。这样的话,可以把风险尽可能放小,而收益放大。
Premint 潜在风险
Premint平台开放预售名单抽奖但是不会对使用他们服务的项目做任何审查,但很多人不知道这一点,还以为这些抽奖活动有 Premint 背书,而且Premint 允许抽奖创建者提出某些要求,例如「必须持有 1 枚 Moonbirds NFT」才能参加。这可以在不经过原项目方同意的情况下,搞出假装得到官方认可的虚假抽奖活动。
Premint被攻击
2022年7月17日PREMINT网站遭黑客攻击,黑客在网站中通过植入恶意JS(JavaScript)文件来实施钓鱼攻击,欺骗用户签名「set approvals for all」的交易,从而盗窃用户的NFT资产。
另一家安全机构 Certik 追踪到了6个与黑客攻击有关的主要地址,大约价值275 ETH(约37.5万美元)的NFT被盗。用户被盗的NFT涉及Bored Ape Yacht Club、Otherside、Moonbirds、Oddities 和 Goblintown 等知名NFT。
攻击原理
黑客预先制作好一个含有骗取用户授权的交互script 脚本,然后利用区块链开源的便利直接复制别人的项目源文件重新制作一个新项目,在Premint上发布抽白任务连接钓鱼官网,当你在链接钱包时进行签名授权后,病毒脚本就被触发,这个脚本先浏览你钱包的资产,再使用OpenSea 的 API 来确定哪个是你最值钱的 NFT 并找到它的智能合约信息,当你点击Mint时它就会产生一笔交易与你最值钱的 NFT 的合约发生交互,这一 setApprovalForAll 交易会授予骗子转走你 NFT 的权限
Premint漏洞
黑客的钓鱼脚本为什么可以堂而皇之的在Premint平台上连接运行,这是因为Premint平台的S3配置出现了错误,导致 Bucket 未授权访问,使得黑客可以随意列出、读取或者写入 S3 bucket,从而对 js 资源文件进行篡改。
如何预防?

很多区块链用户都有个非常不好的习惯,只要操作进入到钱包中,除了调 gas 的过程,其他步骤都是下意识操作。实际上签名前的确认信息包含着大量关键内容,建议大家进行任何签名操作前都必须仔细确认。
当用户对 Premint 进行签名验证时,由于只是进行信息验证,没有任何上链的必要,所以发起的 Signature Request 应只包含 Origin 信息(请求方),用户的地址,Nounce 信息,可能有一些附加返回信息。
实际上,合约各类调用、转 ETH(或其他原生币)、转 Token 等,在钱包中签名信息都是不同的,所有投资者都应该了解其中的差异,以免遭到此类攻击时产生损失。
『声明:本内容仅供广大NFT爱好者科普学习和交流,不构成投资意见或建议,请理性看待,树立正确的理念,提高风险意识』
当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/
我需要读入一个包含数字列表的文件。此代码读取文件并将其放入二维数组中。现在我需要获取数组中所有数字的平均值,但我需要将数组的内容更改为int。有什么想法可以将to_i方法放在哪里吗?ClassTerraindefinitializefile_name@input=IO.readlines(file_name)#readinfile@size=@input[0].to_i@land=[@size]x=1whilex 最佳答案 只需将数组映射为整数:@land边注如果你想得到一条线的平均值,你可以这样做:values=@input[x]
我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere
我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s
对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD