対話LooksRareチーム:基盤技術、ユーザー体験、チーム構築について詳しく話す
出典:Odaily星球日报
2022年3月28日午後、LooksRareチームはDiscordでAMAを開催し、LooksRareの技術に関する問題を議論し、コミュニティのユーザーが関心を持つ技術的な質問に答えました。AMAに参加したプロジェクトメンバーには、開発責任者のShisui、バックエンド責任者のhex、フロントエンド責任者のNirato、そしてプロダクトマネージャーのGizmoが含まれます。
基盤技術:
モジュール化されたスマートコントラクトにより、すべての新機能を迅速に展開でき、ユーザーの資産の安全性がチームの最も重要な問題です
1、LooksRareのコントラクトとOpenSeaの違い、LooksRareが行った最適化について比較できますか?
JurassicPunk: Wyvern(OpenSeaが使用しているプロトコル)は、Ethereum上で最も使用されているスマートコントラクトの1つであり、NFT業界の発展の基盤を築くのに疑いなく貢献しました。
LooksRareも似たようなアーキテクチャの上に構築されていますが、オフチェーン/オンチェーンシステムを持ちながら、アーキテクチャの他の部分は非常に異なります。私たちはユーザーの安全性に非常に注意を払っているため、EIP-712署名(人間が理解しやすい署名方式)や、すべてのオーダーを一括でキャンセルするツールなどの革新的な方法を採用したモジュール化されたスマートコントラクトシステムを採用しています。
このモジュール化されたコントラクトは、新しい取引マッチング方法を追加したり、将来のビジネスロジックの変更を取り入れたりすることを可能にするなどの利点を提供します。このプロトコルはクリエイターにも注目しており、ERC2981をサポートする革新があり、プロジェクトにオンチェーンのロイヤリティ登録を提供し、各取引で即座にロイヤリティ料金を支払います。
2、なぜ多くの契約を独立して展開する必要があるのですか?たとえば、ロイヤリティ契約を使用してFeeSetter、FeeManager、FeeRegistryを展開する場合など。
基本的に、より多くのモジュール化は、システムをより簡単に監査し理解できることを意味します(ソフトウェア開発でよく見られる古典的な分割統治のパラダイム)、将来的に新しい機能を追加したり、バグを修正したりするのも容易になります。
3、あなたたちがゼロから構築したことを証明する証拠はありますか?OpenSeaのバックエンドを使用していないことを示す証拠は?
Gizmo: LooksRareがEIP712を使用して署名しているのが見えます(この署名はユーザーが自分の署名内容を明確に理解できるものです)。私たちがリリースしたとき、OpenSeaはこの署名をサポートしていませんでした。したがって、私たちの全システムはOpenSeaとは互換性がありません。取引、インデックス、取引に関連するすべてのバックエンドはOpenSeaから完全に独立しています。私たちはゼロから自分たちの取引システムを構築しました。これが、OpenSeaがダウンしたときにLooksRareが取引を続けられる理由です。次回OpenSeaがダウンしたときに、ぜひ試してみてください。
4、技術的に、このNFT市場を構築する際に最も難しいことは何でしたか?その問題をどのように解決しましたか?
Shisui: LooksRareとLooksRare以外のチェーン上で発生するイベントの同期は大きな問題です。たとえば、NFTを異なるウォレットに移動させた場合でも、LRにリストされている場合、これを把握する必要があります。ご存知のように、期限切れの注文はリリース後に大きな問題です。全体的に、オンチェーンとオフチェーンのデータの同期は常に大きな課題です。私たちはインデックス用に強力で迅速なスクリプトを必要としています。
Nirato: フロントエンドの観点から:フロントエンド、バックエンド、ブロックチェーン間の状態を管理します。この問題を解決できるかどうかは不明ですが、NFTの現在の最も正確な状態をユーザーに示す方法を常に探しています。
カードグリッドのパフォーマンス:カードの表示には、GIF、動画、画像、画像が読み込まれない、画像が大きすぎる、画像が小さすぎる、画像がChromeでしかうまく読み込まれないなどの問題があります。最近、画像提供者を更新し、レイジーローディングなどの技術を利用することで、この点で大きな改善を達成しました。
セキュリティ:私たちは多くのサードパーティのAPIやサービスを利用していますが、彼らは常にセキュリティ問題に対応しているわけではありません。彼らは修正/サポートの問題に関して独自のタイムラインを持っており、私たちが制御できるものではなく、本当にフラストレーションを感じます(あなたのTrezorを見てください)。これはセキュリティと機能の間の終わりのない綱引きです。この問題をどのように解決していますか?私たちは、私たちとコミュニケーションを取ることを望む他の開発チームと接触しようとしています。
5、各チームメンバーが最も誇りに思っているバックエンドとフロントエンドの技術機能は何ですか?
Shisui:私にとっては、シリーズオファー機能です。NFTに流動性を追加することは非常にエキサイティングな機能です。シリーズオファー機能は、シリーズNFTの流動性を大幅に向上させます。他の人とは異なる答えを持っています!
JurassicPunk:私にとっては、業界全体でEIP-712署名の採用を推進できたことに非常に満足しています!
6、NFTデータをインデックスするためにどの技術を使用しており、失敗したAPI制限やシリーズNFTのAPI制限をどのように処理していますか?
Hex:私たちはJavaで独自のインデクサーを構築し、ブロックとERC721/ERC1155(市場でも使用されている)の関連イベントを解析しています。これには、tokenURI()などの標準を使用してメタデータを解析することが含まれます。各転送イベントに対して、失敗と再試行の戦略を持っています。
レート制限については、私たちがそれに気づいた場合、プロジェクトチームに連絡します。そうでなければ、彼らのメタデータ/画像を取得する際に戦略を調整します。また、独自のIPFSゲートウェイを持っており、これがこちらのレート制限を防ぐのに役立ちます(arweaveも近日中に稼働します)。
7、プライベートキーに基づくウォレットには多くのハッキング事例があることを知っています。非プライベートキー指向のウォレットプロジェクト(例えば、argent)との協力についてどう思いますか?
JurassicPunk:スマートコントラクトウォレットはスマートコントラクト取引所でサポートされていますが、フロントエンドでは実装されていません。これはチームが将来的にサポートを検討するものです。
8、あなたのインフラストラクチャはどれほどのスケーラビリティを持っており、今後12ヶ月以内に10倍のユーザー成長を維持できますか?または100倍、1000倍?
Hex:私たちはサードパーティのホスティングサービスを使用しており、ほぼすべての拡張を許可しています(コストが唯一の「障害」です)。したがって、私たちはそれに自信を持っています。私たちが立ち上げて以来、日平均トラフィックを最大6倍まで維持できています。したがって、10倍には自信がありますが、1000倍には不明ですが、それに向けて努力します。特に今後12ヶ月間は。
数週間前にSREを雇ったので、これに関する作業に役立ちます。
9、ネイティブのミント機能はありますか、それともManifoldが将来の解決策になりますか?
JurassicPunk: はい、将来的にはあります。チームは具体的な仕様についてまだ議論中ですが、複数の製品の反復でリリースされる可能性があります。
10、歴史的および現在のNFTデータを取得するためのAPIを開発しますか?
Hex:はい、「歴史的活動」のように;あなたは公共APIを通じて、任意のシリーズまたはNFTのすべての情報を照会できるようになります。これには、ミント/転送/オファー/リスト/キャンセルなどが含まれます;歴史的メタデータについては、まだ考慮していませんが、需要があれば提供する可能性もあります。
11、開発プロセスの初期段階でエラーをどのようにキャッチしていますか?(単体テスト?自動化テスト?手動テスト?エラーレポート?など)
JurassicPunk:スマートコントラクト/Solidity部分については、すべてのコントラクトが徹底的にテストされており、デプロイされたコントラクトには95%以上のブランチ/機能カバレッジがあります。私たちは単体テストとシナリオテストを使用し、Hardhat(Waffleと共に)やForge(DS-testと共に)などの複数のフレームワークを使用しています。私たちはSlitherのようなセキュリティツールにも依存しています。
私たちはまた、外部のセキュリティ会社や個人と協力して、Solidityコードのレビューを手伝っています。
Nirato:フロントエンドに関しては、現在単体テストを作成しており、手動テスト担当者のチームがあります。これはまだ不十分で、現在の痛点の1つです。私たちは確実に改善が必要であり、QAエンジニアを積極的に探しています(誰か知っていますか?人材を推薦してください)。ブロックチェーン/web3の経験を持つQAエンジニアを探すのは挑戦であり、私たちはそれに取り組んでいます。私たちは全員、1000%同意しています。できるだけ早くE2Eおよび統合テストを実施する必要があります。
貴重な資産はコミュニティのテスターです(自慢ではありません)。彼らがいなければ、私たちは何千ものエラーを抱えることになります。
12、Looksrareは将来的にpolygonやsolanaのようにマルチチェーンをサポートしますか?または、stakwareのようなセカンドレイヤーのソリューション?
JurassicPunk:はい、チームはすべてのセカンドレイヤーソリューションのサポートを調査していますが、@Shisui(チーフデベロッパー)が書いたように、これはユーザーのニーズに依存します。
また、現在のところ、需要がNFTブリッジ(たとえば、BAYCをArbitrumに移動し、L2で取引すること)から来ているのか、ネイティブのセカンドレイヤーNFTの取引手数料が低いためにより多くの需要があるのか(またはその両方か!)は不明です。
現在、チームは最新の状態を維持し、EVM互換のセカンドレイヤーネットワーク(Arbitrum/Optimisticなど)や非EVM互換のセカンドレイヤー(Starkwareなど)のNFTスペースの発展を監視しています。
ユーザー体験:
すべての製品でユーザー体験を快適にするよう努めています
1、公共APIはいつ一般に公開されますか?
Hex:公共APIは第一弾の人々に公開されており、第三者やユーザーがすべてが順調であることを確認しています。私たちの目標は、今週または来週に公共APIを公開することです。
2、WETHの再投資機能はオプションですか?有効にした後にオフにできますか?
JurassicPunk:自動再投資機能(WETHを売却してLOOKSに変換)は、現在のWETH/LOOKSステーキングコントラクトに追加されるコントラクトの層です。ユーザーは自分の好みに応じて、これらの2つのコントラクトのいずれかを使用することを決定できます。
3、フロントエンドのパフォーマンスを改善するために積極的に取り組んでいますか?
Nirato:短い答え……はい!開発チームは毎日複数の更新/機能/修正をリリースしています。チームは新機能/改善に主に焦点を当てようとしていますが、技術的負債もあり、これらの努力に多くの時間を割いています。
4、私はあなたたちの忠実なファンですが、フロントエンドが私のノートパソコンをジェット機の離陸のように聞こえさせます。それは非常に迅速な体験ではありません。何かを読み込むのに時間がかかることがあります。
Nirato:私たちはフロントエンドとその速度に非常に誇りを持っており、すべてのユーザーがそれを体験できることを願っています(まあ、少なくとも私たちはそう努力しています)。最近、画像提供者を更新し、画像の読み込み速度が大幅に改善されました。GIFや動画の読み込みに関しても実際に改善を行いましたが、モバイルユーザーや古いコンピュータにとっては依然として課題です。これは継続的な闘争ですが、安定性とパフォーマンスが最優先事項です。
私たちは遅延やボトルネックを減らす新しい方法を探求し続けています。
他にパフォーマンスの問題があれば、いつでも私たちの?│バグチャンネルに問題を投稿するか、より具体的な問題を処理するためにモデレーターに連絡してください。
チーム構築:
技術者がチームの大多数を占め、分散型のオフィス
1、フロントエンドエンジニアとバックエンドエンジニア(APIフォーカス)の採用人数はどれくらいですか?作業のコミュニケーションには音声会議が必要ですか?それともファイル転送だけで十分ですか?
Shisui:現在、フロントエンドが3人、バックエンドが4人(DBを含む)、開発者が1人、Solidity開発者が1人、私がいます。私たちはDiscordを主要なコミュニケーションツールとして使用しています(毎日会議を開いています)。
2、開発チームのメンバーはどのようにコミュニケーションを取っていますか?同じオフィスで働いていますか、それとも自宅で働いていますか?
Shisui:私たちはDiscordを主要なコミュニケーションツールとして使用しています。全員がリモートで働いており、オフィスはなく、特定の国に束縛されたくないのでオフィスを設立する計画もありません。私たちのメンバーは現在、アメリカ、ヨーロッパ、アジアに分散しています。分散型はLooksRareの遺伝子です。
3、緊急事態が発生した場合、LooksRareチームはどのように対応しますか?事件対応マニュアルはありますか?
Shisui:私たちは多くの監視ツールと、重要度に応じたさまざまな連絡手段を持っています。通常、何かが発生した場合、数分以内に対応します。内部には、すべてのイベントを事後にまとめるための専用の対話チャンネルがあります。
Nirato: Gizmoは私たち全員をポケベルで働かせ、携帯電話の「おやすみモード」で直接私たちを攻撃します。逃げられません!私たちはほぼすべてのタイムゾーンにオンラインの人がいることが私たちの強みです。
その他:
LOOKSトークンのエアドロップの計算方法
1、皆さん、トークンの数量とエアドロップのレベルをどのように指定/決定しているのか知りたいです。また、資格はどのように計算されていますか(たとえば、OpenSeaのAPIに基づいていますか?)
JurassicPunk:エアドロップのレベルと数量の背後にいるプランナーはGutsで、私たちの共同創設者です。彼はこの分野で非常に経験豊富で、現在のレベルに至るまで多くの厳密な計算を経ています。
取引量の収集については、TheGraphプロトコルのサブグラフを使用してOpenSea市場のオンチェーンデータを収集しています。このサブグラフはWyvernプロトコルの呼び出しをインデックスし、Uniswapを使用して非ETH通貨の取引額をETHに変換します。これは非常に複雑で、MANA、GALAなどの複数の通貨の統合を構築する必要があります。