คุณสามารถค้นหา MetaMask เวอร์ชันล่าสุดได้จากเว็บไซต์อย่างเป็นทางการของเรา หากต้องการความช่วยเหลือในการใช้ MetaMask โปรดไปที่ไซต์สนับสนุนผู้ใช้ของเรา
สำหรับคำถามทั่วไป คำขอคุณลักษณะ หรือคำถามของนักพัฒนา โปรดไปที่ฟอรัมชุมชนของเรา
MetaMask รองรับเบราว์เซอร์ Firefox, Google Chrome และ Chromium เราขอแนะนำให้ใช้เบราว์เซอร์เวอร์ชันล่าสุดที่มีอยู่
สำหรับข่าวสารล่าสุด ติดตามเราบน X.
หากต้องการเรียนรู้วิธีพัฒนาแอปพลิเคชันที่เข้ากันได้กับ MetaMask โปรดไปที่เอกสารสำหรับนักพัฒนาของเรา
หากต้องการเรียนรู้วิธีมีส่วนร่วมกับโค้ดเบส MetaMask โปรดไปที่เอกสารผู้ร่วมให้ข้อมูลของเรา
หากต้องการเรียนรู้วิธีมีส่วนร่วมในโครงการ MetaMask Extension โปรดไปที่เอกสารส่วนขยายของเรา
นอกจากการสร้างบนเครื่องในพื้นที่ของคุณแล้ว ยังมีตัวเลือกใหม่ในการทำให้สภาพแวดล้อมการพัฒนาพร้อมใช้งานภายในเวลาไม่ถึง 5 นาทีโดยใช้ GitHub Codespaces โปรดทราบว่ามีโควต้าฟรีรายเดือนแบบจำกัด และหลังจากนั้น GitHub จะเริ่มเรียกเก็บเงินจากคุณ
หมายเหตุ: คุณจะถูกเรียกเก็บเงินสำหรับทั้งเวลาที่ใช้งานและพื้นที่เก็บข้อมูลที่ใช้
เริ่มต้นด้วยการคลิกปุ่มด้านบน
แท็บเบราว์เซอร์ใหม่จะเปิดขึ้นพร้อมกับ Visual Studio Code เวอร์ชันระยะไกล (จะใช้เวลาโหลดสักครู่)
"เบราว์เซอร์แบบธรรมดา" จะเปิดขึ้นภายในเบราว์เซอร์ด้วย noVNC -- คลิกเชื่อมต่อ
คลิกปุ่มที่มุมขวาบนของแท็บ Simple Browser เพื่อเปิดหน้าต่าง noVNC ในแท็บของตัวเอง
เปิดแถบด้านข้าง noVNC ทางด้านซ้าย คลิกไอคอนรูปเฟือง เปลี่ยนโหมดการปรับขนาดเป็นการปรับขนาดระยะไกล
ขั้นตอนที่ไม่บังคับ:
รอประมาณ 20 วินาทีเพิ่มเติมในการเปิดตัวครั้งแรกเพื่อให้สคริปต์เสร็จสิ้น
คลิกขวาที่เดสก์ท็อป noVNC เพื่อเปิด Chrome หรือ Firefox ที่ติดตั้ง MetaMask ไว้ล่วงหน้า
เปลี่ยนโค้ดบางส่วน จากนั้นรัน yarn start
สร้างในโหมด dev
หลังจากหนึ่งหรือสองนาที การสร้างจะเสร็จสิ้น และคุณจะเห็นการเปลี่ยนแปลงของคุณในเดสก์ท็อป noVNC
คุณจะถูกเรียกเก็บเงินสำหรับทั้งเวลาที่ใช้งานและพื้นที่เก็บข้อมูลที่ใช้
Codespaces จะหยุดชั่วคราวหลังจากไม่มีการใช้งานเป็นเวลา 30 นาที และลบอัตโนมัติหลังจากไม่มีการใช้งานเป็นเวลา 30 วัน
คุณสามารถจัดการ Codespaces ของคุณได้ที่นี่: https://github.com/codespaces
คุณอาจต้องการหยุดการทำงานชั่วคราวด้วยตนเองก่อนหมดเวลา 30 นาที
หากคุณมี Codespace ที่ไม่ได้ใช้งานหลายอันค้างอยู่เป็นเวลาหลายวัน โควต้าพื้นที่เก็บข้อมูลจะหมดอย่างรวดเร็ว คุณควรลบอันที่คุณไม่ต้องการใช้อีกต่อไป และอาจเก็บไว้เพียง 1 หรือ 2 อันในระยะยาว นอกจากนี้ยังเป็นไปได้ที่จะนำ Codespace เก่ากลับมาใช้ซ้ำและสลับสาขา แทนที่จะสร้างอันใหม่และการลบอันเก่า
หากคุณไม่ใช่นักพัฒนาภายในของ MetaMask หรือกำลังพัฒนาบนทางแยก คีย์ Infura เริ่มต้นจะอยู่ในแผนแบบฟรีและมีคำขอต่อวินาทีที่จำกัดมาก หากคุณต้องการใช้คีย์ Infura ของคุณเอง ให้ทำตามคำแนะนำ .metamaskrc
และ INFURA_PROJECT_ID
ในส่วนการสร้างบนเครื่องภายในของคุณ
ติดตั้ง Node.js เวอร์ชัน 20
หากคุณใช้ nvm (แนะนำ) ที่ใช้งาน nvm use
จะเลือกเวอร์ชันโหนดที่เหมาะสมสำหรับคุณโดยอัตโนมัติ
เปิดใช้งาน Corepack โดยดำเนินการคำสั่ง corepack enable
ภายในโปรเจ็กต์ส่วนขยาย metamask Corepack เป็นโปรแกรมอรรถประโยชน์ที่มาพร้อมกับ Node.js โดยค่าเริ่มต้น โดยจะจัดการ Yarn ในแต่ละโปรเจ็กต์ โดยใช้เวอร์ชันที่ระบุโดยคุณสมบัติ packageManager
ในไฟล์ package.json ของโปรเจ็กต์ โปรดทราบว่า Yarn รุ่นใหม่ไม่ได้มีไว้สำหรับการติดตั้งทั่วโลกหรือผ่านทาง npm
ทำซ้ำ .metamaskrc.dist
ภายในรูท และเปลี่ยนชื่อเป็น .metamaskrc
โดยเรียกใช้ cp .metamaskrc{.dist,}
หากคุณไม่มีบัญชี Infura คุณสามารถสร้างบัญชีได้ฟรีบนเว็บไซต์ Infura
แทนที่ค่า INFURA_PROJECT_ID
ด้วยคีย์ Infura API ส่วนตัวของคุณเอง
หากแก้ไขข้อบกพร่อง MetaMetrics คุณจะต้องเพิ่มค่าสำหรับคีย์การเขียนเซ็กเมนต์ SEGMENT_WRITE_KEY
โปรดดูที่การพัฒนาบน MetaMask - เซ็กเมนต์
หากแก้ไขข้อบกพร่องที่ไม่สามารถจัดการได้ คุณจะต้องเพิ่มค่าสำหรับ SENTRY_DSN
Sentry Dsn โปรดดูการพัฒนาบน MetaMask - Sentry
หรือแทนที่ค่า PASSWORD
ด้วยรหัสผ่านกระเป๋าเงินการพัฒนาของคุณเพื่อหลีกเลี่ยงการป้อนทุกครั้งที่คุณเปิดแอป
รัน yarn install
เพื่อติดตั้งการขึ้นต่อกัน
สร้างโปรเจ็กต์เป็น ./dist/
โฟลเดอร์ด้วย yarn dist
(สำหรับเบราว์เซอร์ที่ใช้ Chromium) หรือ yarn dist:mv2
(สำหรับ Firefox)
อีกทางเลือกหนึ่ง ในการสร้างบิลด์การพัฒนา คุณสามารถรัน yarn start
(สำหรับเบราว์เซอร์ที่ใช้ Chromium) หรือ yarn start:mv2
(สำหรับ Firefox) แทน
บิลด์ที่ไม่มีการบีบอัดสามารถพบได้ใน /dist
บิลด์ที่บีบอัดสามารถพบได้ใน /builds
เมื่อสร้างขึ้นแล้ว
ดู readme ระบบ build สำหรับข้อมูลการใช้งานระบบ build
ทำตามคำแนะนำเหล่านี้เพื่อตรวจสอบว่าบิลด์ในเครื่องของคุณทำงานอย่างถูกต้อง:
วิธีเพิ่มบิลด์ที่กำหนดเองลงใน Chrome
วิธีเพิ่ม build แบบกำหนดเองให้กับ Firefox
หากต้องการรับคำติชมอย่างรวดเร็วจากฟังก์ชันการออกกำลังกายคุณภาพโค้ดที่แชร์ของเราก่อนที่จะคอมมิตโค้ด คุณสามารถติดตั้ง git hooks ของเรากับ Husky ได้
$ yarn githooks:install
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ได้ในเอกสารการทดสอบของเรา
หากคุณใช้ VS Code และไม่สามารถคอมมิตจากแถบด้านข้างตัวควบคุมแหล่งที่มาได้เนื่องจากมีข้อผิดพลาด "ไม่พบคำสั่ง" ให้ลองขั้นตอนเหล่านี้จากเอกสาร Husky
หากต้องการเริ่ม build การพัฒนา (เช่น ด้วยการบันทึกและการดูไฟล์) ให้รัน yarn start
คุณสามารถเริ่มต้นบิลด์การพัฒนาด้วยสถานะวอลเล็ตที่โหลดไว้ล่วงหน้า โดยการเพิ่ม TEST_SRP='<insert SRP here>'
และ PASSWORD='<insert wallet password here>'
ลงในไฟล์ . .metamaskrc
จากนั้นคุณมีตัวเลือกดังต่อไปนี้:
เริ่มต้นกระเป๋าเงินด้วยแฟล็กเริ่มต้นโดยการรัน yarn start:with-state
ตรวจสอบรายการฟิกซ์เจอร์แฟล็กที่มีอยู่โดยการรัน yarn start:with-state --help
เริ่มต้นกระเป๋าเงินด้วยแฟล็กฟิกซ์เจอร์ที่กำหนดเอง โดยการรัน yarn start:with-state --FIXTURE_NAME=VALUE
เช่น yarn start:with-state --withAccounts=100
คุณสามารถส่งธงได้มากเท่าที่คุณต้องการ การแข่งขันที่เหลือจะใช้ค่าเริ่มต้น
คุณยังสามารถเริ่มต้นการสร้างการพัฒนาโดยใช้คำสั่ง yarn webpack
หรือ yarn webpack --watch
สิ่งนี้ใช้ระบบการสร้างทางเลือกที่เร็วกว่ามาก แต่ยังไม่พร้อมสำหรับการผลิต ดู Webpack README สำหรับข้อมูลเพิ่มเติม
หากต้องการเริ่ม React DevTools ให้รัน yarn devtools:react
ด้วย build การพัฒนาที่ติดตั้งในเบราว์เซอร์ ซึ่งจะเปิดขึ้นในหน้าต่างแยกต่างหาก ไม่จำเป็นต้องมีส่วนขยายเบราว์เซอร์
ในการเริ่มส่วนขยาย Redux DevTools:
ติดตั้งแพ็คเกจ remotedev-server
ทั่วโลก (เช่น yarn global add remotedev-server
)
ติดตั้งส่วนขยาย Redux Devtools
เปิดส่วนขยาย Redux DevTools และทำเครื่องหมายในช่อง "ใช้เซิร์ฟเวอร์แบบกำหนดเอง (ภายในเครื่อง)" ในการตั้งค่า Remote DevTools โดยใช้การกำหนดค่าเซิร์ฟเวอร์เริ่มต้น (โฮสต์ localhost
พอร์ต 8000
ยกเลิกการเลือกช่องทำเครื่องหมายการเชื่อมต่อที่ปลอดภัย)
จากนั้นรันคำสั่ง yarn devtools:redux
พร้อมกับบิลด์การพัฒนาที่ติดตั้งในเบราว์เซอร์ สิ่งนี้จะช่วยให้คุณใช้ส่วนขยาย Redux DevTools เพื่อตรวจสอบ MetaMask
หากต้องการสร้างการพัฒนาและรันเครื่องมือทั้งสองพร้อมกัน ให้รัน yarn start:dev
ไซต์ทดสอบนี้สามารถใช้เพื่อดำเนินการโฟลว์ผู้ใช้ที่แตกต่างกัน
รันการทดสอบหน่วยและ yarn test
ด้วยเส้นด้าย หากต้องการรันการทดสอบหน่วย ให้รัน yarn test:unit
คุณสามารถรัน linter ได้ด้วยตัวเองด้วย yarn lint
และคุณสามารถแก้ไขปัญหาผ้าสำลีด้วย yarn lint:fix
ได้โดยอัตโนมัติ คุณยังสามารถรันคำสั่งทั้งสองนี้กับการเปลี่ยนแปลงในเครื่องของคุณเพื่อประหยัดเวลาด้วย yarn lint:changed
และ yarn lint:changed:fix
ตามลำดับ
สำหรับคำแนะนำในการดีบัก Jest โดยใช้ Node.js โปรดดูที่ docs/tests/jest.md
ชุดทดสอบ e2e ของเราสามารถทำงานได้บน Firefox หรือ Chrome ต่อไปนี้เป็นวิธีเริ่มต้นการทดสอบ e2e:
ก่อนที่จะรันการทดสอบ e2e ตรวจสอบให้แน่ใจว่าคุณได้รัน yarn install
เพื่อดาวน์โหลดการขึ้นต่อกัน ถัดไป คุณจะต้องมีรุ่นทดสอบ คุณมี 3 ตัวเลือก:
ใช้ yarn download-builds:test
เพื่อดาวน์โหลดและแตกไฟล์ทดสอบสำหรับ Chrome และ Firefox ลงในโฟลเดอร์ ./dist/
อย่างรวดเร็ว วิธีนี้รวดเร็วและสะดวกสำหรับการทดสอบมาตรฐาน
สร้างการทดสอบแบบกำหนดเอง: สำหรับการทดสอบกับประเภทการสร้างที่แตกต่างกัน ให้ใช้ yarn build:test
คำสั่งนี้ช่วยให้คุณสร้างการทดสอบบิลด์สำหรับประเภทต่างๆ รวมถึง:
yarn build:test
สำหรับการสร้างหลัก
yarn build:test:flask
สำหรับการสร้างขวด
yarn build:test:mmi
สำหรับ mmi build
yarn build:test:mv2
สำหรับ mv2 build
เริ่มต้นการทดสอบสร้างด้วยการเปลี่ยนแปลงทันที: yarn start:test
มีประโยชน์อย่างยิ่งสำหรับการพัฒนา มันเริ่มสร้างการทดสอบที่จะคอมไพล์รหัสแอปพลิเคชันใหม่โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลง ตัวเลือกนี้เหมาะสำหรับการทดสอบและพัฒนาซ้ำ คำสั่งนี้ยังช่วยให้คุณสร้างการทดสอบบิลด์สำหรับประเภทต่างๆ รวมถึง:
yarn start:test
โครงสร้างหลัก
yarn start:test:flask
สำหรับสร้างขวด
yarn start:test:mv2
สำหรับบิลด์ mv2
หมายเหตุ: คำสั่ง yarn start:test
(ซึ่งเริ่มต้นประเภทบิลด์ testDev) ได้ปิดการใช้งาน LavaMoat สำหรับทั้งระบบบิลด์และแอปพลิเคชัน ซึ่งมอบประสบการณ์การทดสอบที่มีประสิทธิภาพในระหว่างการพัฒนา ในทางกลับกัน yarn build:test
ช่วยให้ LavaMoat สามารถเพิ่มความปลอดภัยทั้งในระบบการสร้างและแอปพลิเคชัน โดยสะท้อนสภาพแวดล้อมการผลิตได้ใกล้ชิดยิ่งขึ้น
เมื่อคุณเตรียมบิลด์การทดสอบของคุณแล้ว ให้เลือกเบราว์เซอร์สำหรับการทดสอบ e2e ของคุณ:
สำหรับ Firefox ให้รัน yarn test:e2e:firefox
หมายเหตุ: หากคุณใช้งาน Firefox เป็นแพ็คเกจ snap บน Linux ตรวจสอบให้แน่ใจว่าคุณเปิดใช้งานตัวแปรสภาพแวดล้อมที่เหมาะสม: FIREFOX_SNAP=true yarn test:e2e:firefox
สำหรับ Chrome ให้รัน yarn test:e2e:chrome
สคริปต์เหล่านี้สนับสนุนตัวเลือกเพิ่มเติมสำหรับการดีบัก ใช้ --help
เพื่อดูตัวเลือกที่มีทั้งหมด
การทดสอบ e2e เดี่ยวสามารถดำเนินการได้ด้วย yarn test:e2e:single test/e2e/tests/TEST_NAME.spec.js
พร้อมด้วยตัวเลือกด้านล่าง
--browser ตั้งค่าเบราว์เซอร์ที่จะใช้ ระบุ 'chrome', 'firefox', 'all' หรือไม่ตั้งค่าให้ทำงานบน 'all' ตามค่าเริ่มต้น [string] [ค่าเริ่มต้น: 'all'] --debug เรียกใช้การทดสอบในโหมดแก้ไขข้อบกพร่อง บันทึกการโต้ตอบของไดรเวอร์แต่ละรายการ [บูลีน] [ค่าเริ่มต้น: จริง] --ลองใหม่ กำหนดจำนวนครั้งที่ควรลองทดสอบอีกครั้งเมื่อเกิดความล้มเหลว [number] [default: 0] --leave-running ปล่อยให้เบราว์เซอร์ทำงานหลังจากการทดสอบล้มเหลว พร้อมด้วยสิ่งอื่นๆ ที่การทดสอบใช้ (ganache, dapp ทดสอบ ฯลฯ) [boolean] [default: false] -- update-snapshot อัปเดตภาพรวมการทดสอบ E2E [นามแฝง: -u] [บูลีน] [ค่าเริ่มต้น: false]
ตัวอย่างเช่น หากต้องการรันการทดสอบ account-details
โดยใช้ Chrome โดยมีการบันทึกการดีบักและตั้งค่าเบราว์เซอร์ให้ยังคงเปิดอยู่เมื่อเกิดความล้มเหลว คุณจะต้องใช้: yarn test:e2e:single test/e2e/tests/account-menu/account-details.spec.js --browser=chrome --leave-running
ในขณะที่พัฒนาคุณสมบัติใหม่ เรามักจะใช้แฟล็กคุณสมบัติ ขณะที่เราเตรียมทำให้ฟีเจอร์เหล่านี้ใช้งานได้โดยทั่วไป (GA) เราจะลบแฟล็กฟีเจอร์เหล่านี้ออก แฟล็กคุณลักษณะที่มีอยู่แสดงอยู่ในไฟล์ . .metamaskrc.dist
หากต้องการดำเนินการทดสอบ e2e โดยเปิดใช้งานแฟล็กฟีเจอร์เฉพาะ จำเป็นต้องสร้างบิลด์ทดสอบโดยเปิดใช้งานแฟล็กฟีเจอร์นั้นก่อน มีสองวิธีในการบรรลุเป้าหมายนี้:
หากต้องการเปิดใช้งานการตั้งค่าสถานะคุณลักษณะในการกำหนดค่าภายในเครื่องของคุณ คุณควรตรวจสอบให้แน่ใจว่าคุณได้คัดลอกไฟล์ .metamaskrc
จาก .metamaskrc.dist
ก่อน จากนั้น ภายในไฟล์ .metamaskrc
ในเครื่องของคุณ คุณสามารถตั้งค่าแฟล็กคุณลักษณะที่ต้องการให้เป็นจริงได้ ต่อจากนี้ คุณสามารถสร้างการทดสอบบิลด์ที่เปิดใช้งานฟีเจอร์แฟล็กได้โดยดำเนินการ yarn build:test
อีกทางหนึ่ง สำหรับการเปิดใช้งานแฟล็กคุณลักษณะโดยตรงระหว่างการสร้างการทดสอบ คุณสามารถส่งพารามิเตอร์เป็นจริงผ่านทางบรรทัดคำสั่งได้ ตัวอย่างเช่น การเปิดใช้งานแฟล็กคุณลักษณะ MULTICHAIN สามารถทำได้โดยการรัน MULTICHAIN=1 yarn build:test
หรือ MULTICHAIN=1 yarn start:test
วิธีการนี้ช่วยให้สามารถปรับค่าสถานะคุณลักษณะได้อย่างรวดเร็วโดยไม่ต้องแก้ไขไฟล์ . .metamaskrc
เมื่อคุณสร้างรุ่นทดสอบโดยเปิดใช้งานการตั้งค่าสถานะคุณสมบัติที่ต้องการแล้ว ให้ดำเนินการทดสอบตามปกติ การทดสอบของคุณจะดำเนินการกับเวอร์ชันของส่วนขยายโดยเปิดใช้งานการตั้งค่าสถานะคุณลักษณะเฉพาะ ตัวอย่างเช่น: yarn test:e2e:single test/e2e/tests/account-menu/account-details.spec.js --browser=chrome
แนวทางนี้ช่วยให้แน่ใจว่าการทดสอบ e2e ของคุณสะท้อนถึงประสบการณ์ผู้ใช้สำหรับคุณสมบัติ GA ที่กำลังจะมาถึงอย่างถูกต้อง
ประเภทบิลด์ที่แตกต่างกันมีชุดการทดสอบ e2e ที่แตกต่างกัน หากต้องการเรียกใช้งานให้ดูในไฟล์ package.json
คุณจะพบกับ:
"test:e2e:chrome:mmi": "SELENIUM_BROWSER=การทดสอบโหนด chrome/e2e/run-all.js --mmi", "test:e2e:chrome:snaps": "SELENIUM_BROWSER=การทดสอบโหนด chrome/e2e/run- all.js --snaps", "test:e2e:firefox": "SELENIUM_BROWSER=โหนด firefox ทดสอบ/e2e/run-all.js",
เมื่อรัน e2e บนบิลด์ MMI คุณจำเป็นต้องรู้ว่ามีชุดการทดสอบแยกกัน 2 ชุด:
MMI รันชุดย่อยของการทดสอบ e2e ของ MetaMask เพื่ออำนวยความสะดวกในเรื่องนี้ เราได้เพิ่มแท็ก @no-mmi
ต่อท้ายชื่อของการทดสอบที่ไม่สามารถใช้ได้กับประเภทบิลด์นี้
MMI รันการทดสอบ e2e รุ่นเก่าโดยเฉพาะอีกชุดหนึ่งซึ่งมีการบันทึกไว้ดีกว่าที่นี่
เมื่อใดก็ตามที่คุณเปลี่ยนการพึ่งพา (เพิ่ม ลบ หรืออัปเดต ไม่ว่าจะใน package.json
หรือ yarn.lock
) จะมีไฟล์ต่างๆ มากมายที่ต้องได้รับการปรับปรุงให้ทันสมัยอยู่เสมอ
yarn.lock
:
รัน yarn
อีกครั้งหลังจากการเปลี่ยนแปลงของคุณเพื่อให้แน่ใจว่า yarn.lock
ได้รับการอัปเดตอย่างถูกต้อง
เรียกใช้ yarn lint:lockfile:dedupe:fix
เพื่อลบการขึ้นต่อกันที่ซ้ำกันออกจาก lockfile
การกำหนด allow-scripts
ใน package.json
รัน yarn allow-scripts auto
เพื่ออัปเดตการกำหนดค่า allow-scripts
โดยอัตโนมัติ การกำหนดค่านี้กำหนดว่าสคริปต์การติดตั้ง/หลังการติดตั้งของแพ็คเกจได้รับอนุญาตให้ทำงานหรือไม่ ตรวจสอบแต่ละแพ็คเกจใหม่เพื่อดูว่าสคริปต์การติดตั้งจำเป็นต้องทำงานหรือไม่ โดยทดสอบหากจำเป็น
น่าเสียดายที่ yarn allow-scripts auto
จะทำงานไม่สอดคล้องกันบนแพลตฟอร์มต่างๆ ผู้ใช้ macOS และ Windows อาจเห็นการเปลี่ยนแปลงที่ไม่เกี่ยวข้องที่เกี่ยวข้องกับการขึ้นต่อกันที่เป็นตัวเลือก
ไฟล์นโยบาย LavaMoat
ไฟล์นโยบาย LavaMoat มีสองชุด:
เมื่อใดก็ตามที่คุณสร้างไฟล์นโยบายใหม่ ให้ตรวจสอบการเปลี่ยนแปลงเพื่อพิจารณาว่าการเข้าถึงที่มอบให้กับแต่ละแพ็คเกจนั้นเหมาะสมหรือไม่
น่าเสียดายที่ yarn lavamoat:auto
จะทำงานไม่สอดคล้องกันบนแพลตฟอร์มที่แตกต่างกัน ผู้ใช้ macOS และ Windows อาจเห็นการเปลี่ยนแปลงที่ไม่เกี่ยวข้องที่เกี่ยวข้องกับการขึ้นต่อกันที่เป็นตัวเลือก
หากคุณยังคงได้รับความล้มเหลวของนโยบายแม้ว่าจะสร้างไฟล์นโยบายใหม่แล้วก็ตาม ให้ลองสร้างนโยบายใหม่หลังจากติดตั้งใหม่ทั้งหมดโดยทำดังนี้:
โปรดทราบว่าการนำเข้าแบบไดนามิกหรือการใช้ globals แบบไดนามิกใดๆ อาจหลบเลี่ยงการวิเคราะห์แบบคงที่ของ LavaMoat โปรดดูเอกสารประกอบของ LavaMoat หรือขอความช่วยเหลือหากคุณพบปัญหาใดๆ
สิ่งนี้ควรถูกสร้างขึ้นใหม่ทุกครั้งที่การขึ้นต่อกันที่ใช้โดยระบบบิลด์นั้นเปลี่ยนไป
ควรสร้างสิ่งเหล่านี้ใหม่ทุกครั้งที่การพึ่งพาการผลิตสำหรับ webapp เปลี่ยนแปลง
ไฟล์นโยบายการผลิต LavaMoat ( lavamoat/browserify/*/policy.json
) ซึ่งสร้างขึ้นใหม่โดยใช้ yarn lavamoat:webapp:auto
เพิ่ม --help
สำหรับการใช้งาน
ไฟล์นโยบาย LavaMoat ของระบบ build ( lavamoat/build-system/policy.json
) ซึ่งสร้างขึ้นใหม่โดยใช้ yarn lavamoat:build:auto
rm -rf node_modules/ && yarn && yarn lavamoat:auto
หากคุณเป็นสมาชิกทีม MetaMask และ PR ของคุณอยู่ในสาขาพื้นที่เก็บข้อมูล คุณสามารถใช้คำสั่งบอท @metamaskbot update-policies
เพื่อขอให้บอท MetaMask อัปเดตนโยบายให้คุณโดยอัตโนมัติ
หาก PR ของคุณมาจากทางแยก คุณสามารถขอให้สมาชิกทีม MetaMask ช่วยอัปเดตไฟล์นโยบายได้
คำแนะนำในการอัปเดตด้วยตนเอง: tl;dr คือการรัน yarn lavamoat:auto
เพื่ออัปเดตไฟล์เหล่านี้ แต่อาจมีปีศาจอยู่ในรายละเอียด:
ไฟล์การระบุแหล่งที่มา
หากคุณเป็นสมาชิกทีม MetaMask และ PR ของคุณอยู่ในสาขาพื้นที่เก็บข้อมูล คุณสามารถใช้คำสั่งบอท @metamaskbot update-attributions
เพื่อขอให้บอท MetaMask อัปเดตไฟล์การระบุแหล่งที่มาให้คุณโดยอัตโนมัติ
การอัปเดตด้วยตนเอง: เรียกใช้ yarn attributions:generate
ภาพลำดับชั้นของตัวควบคุมและการขึ้นต่อกัน ณ ฤดูร้อนปี 2022
ภาพของโค้ดเบสทั้งหมด
วิธีเพิ่มการแปลใหม่ให้กับ MetaMask
คู่มือการเผยแพร่
วิธีใช้โปรแกรมจำลอง TREZOR
การพัฒนาบน MetaMask
วิธีสร้างการแสดงภาพการพัฒนาของพื้นที่เก็บข้อมูลนี้
วิธีเพิ่มการยืนยันใหม่
แนวทางการสนับสนุนเบราว์เซอร์
ขยายคุณสมบัติของ MetaMask ด้วย MetaMask Snaps
แจ้งให้ผู้ใช้เพิ่มและเปลี่ยนไปใช้เครือข่ายใหม่
เปลี่ยนโลโก้ที่ปรากฏขึ้นเมื่อ dapp ของคุณเชื่อมต่อกับ MetaMask