โดย: Brett McLain ผู้อำนวยการฝ่ายวิศวกรรม – Crypto, Fiat, Staking
หากคุณสนใจในสกุลเงินดิจิทัล การชำระเงิน หรือการปักหลัก และต้องการช่วยสร้างระบบการเงินแห่งอนาคต ทีมวิศวกรรมการระดมทุน @ Kraken รับสมัครงานอยู่!
เมื่อ Kraken เปิดตัวเมื่อทศวรรษที่แล้ว รองรับสกุลเงินดิจิทัลเพียงสามสกุลเท่านั้น: BTC, LTC และ XRP
วันนี้ Kraken รองรับ 82 สินทรัพย์บน 33 บล็อกเชน และบริการ Stake สำหรับ 8 คริปโตเคอเรนซี
เพื่ออำนวยความสะดวกในการฝาก ถอน และการทำธุรกรรมนับล้านต่อปีที่ Kraken ทีมวิศวกรรมการเข้ารหัสลับได้ดำเนินการบริการหลายร้อยรายการเพื่อให้แน่ใจว่าเงินทุนเข้าและออกจากการแลกเปลี่ยนเป็นไปอย่างราบรื่น ซอฟต์แวร์บล็อคเชนที่สนับสนุนบริการเหล่านี้ได้รับการอัปเดตบ่อยครั้ง สำหรับบล็อคเชนที่ใช้งานมากกว่าบางตัว ฮาร์ดฟอร์คและซอฟต์ฟอร์กอาจมีลักษณะเป็นรายเดือน ในขณะที่บางตัวเช่น Ethereum เป็นงานประจำปีสองครั้ง โดยทั่วไปมีการอัปเดตซอฟต์แวร์อย่างน้อยสองสามรายการในโครงสร้างพื้นฐานบล็อคเชนของเราทุกสัปดาห์
ความท้าทายในการสนับสนุนและอัปเดตบริการต่างๆ จำนวนมาก ในขณะเดียวกันก็สร้างบริการใหม่ๆ ขึ้นได้ยาก
ในช่วง 12 เดือนที่ผ่านมา ทีมงานของเราได้เพิ่มการสนับสนุนสำหรับ:
- 60 cryptocurrencies ใหม่:
- 39 x ERC20 โทเค็น
- Polkadot (เมื่อเปิดตัว mainnet)
- Kusama
- Filecoin (เมื่อเปิดตัว mainnet)
- Flow (เมื่อเปิดตัว mainnet)
- Kava
- Energy Web Token (เมื่อเปิดตัว mainnet)
- USDT (TRC20)
- 10 x เงินกู้ Parachain Crowdloans
- โซลานา
- 1 x โทเค็น SPL (เซรั่ม)
- Mina
- 8 สินทรัพย์เดิมพันใหม่:
- Polkadot (เมื่อเปิดตัว mainnet)
- Kusama
- Ethereum 2.0 (เมื่อเปิดตัว mainnet)
- Flow (เมื่อเปิดตัว mainnet)
- Cardano
- จักรวาล
- Kava
- โซลานา
ความสำเร็จเหล่านี้ประสบผลสำเร็จควบคู่ไปกับการบำรุงรักษาการผสานรวมที่มีอยู่ของเรา วิศวกรของทีม crypto มีหน้าที่รับผิดชอบไม่เพียงแต่ซอฟต์แวร์เกตเวย์ที่เขียนขึ้นเองเท่านั้น แต่ยังรวมถึงการบำรุงรักษาและการใช้งานโครงสร้างพื้นฐานบล็อกเชนของเราที่เกตเวย์ของเราพึ่งพา จังหวะของการพัฒนาบล็อคเชนในโครงการเหล่านี้อาจเป็นเรื่องยุ่งยาก โดยมีการเปลี่ยนแปลงและฟีเจอร์ใหม่ๆ เข้ามาบ่อยครั้งและบางครั้งก็มีคำเตือนเพียงเล็กน้อย
ดังนั้น Kraken จัดการอย่างไรเพื่อปล่อยผลิตภัณฑ์ใหม่หลายสิบรายการทุกปีในขณะที่ติดตามการพัฒนาบล็อคเชนอย่างรวดเร็ว?
การทดสอบแบบ End to End (E2E)!
ทำไมเราถึงให้ความสำคัญกับการทดสอบ E2E และหลีกเลี่ยงการเยาะเย้ย
นับตั้งแต่วันแรกที่ Kraken การทดสอบ E2E เป็นการทดสอบที่มีค่าที่สุดที่วิศวกรสามารถสร้างได้ การทดสอบหน่วยมีที่ของมัน แต่นักพัฒนาหลายคนที่ไม่มีประสบการณ์กับการผสานรวมที่ซับซ้อนมักจะเขียนการทดสอบหน่วยสำหรับโค้ดทุกชิ้นที่พวกเขาสร้างขึ้นด้วยความเชื่อว่าพวกเขากำลังปรับปรุงคุณภาพโดยรวมของซอฟต์แวร์ที่พวกเขากำลังพัฒนา
เส้นทางนี้แม้จะเต็มไปด้วยความตั้งใจดี แต่ก็มักจะนำไปสู่ความเจ็บปวดมากมายระหว่างทาง การพึ่งพาการทดสอบหน่วยมากเกินไปมีแนวโน้มที่จะประสานสถาปัตยกรรมของคุณ มันเหมือนกับการเทชั้นของอีพ็อกซี่บนฐานโค้ดทั้งหมดของคุณ คุณกำลังเชื่อมโยงโค้ดกับการทดสอบอย่างแน่นหนา ทำให้โค้ดมีความแข็งแกร่ง ไม่ยืดหยุ่น และทนต่อการปรับโครงสร้างใหม่ หากคุณต้องการทำการเปลี่ยนแปลง คุณจะต้องทำการเปลี่ยนแปลงที่สำคัญในการทดสอบ และในบางกรณี ให้โยนทิ้งไปเลย รหัสการปรับโครงสร้างใหม่เป็นความสามารถหลักสำหรับทีมวิศวกรรมที่จะมีในชุดเครื่องมือของตน และสิ่งใดที่เพิ่มความยุ่งยากให้กับการปรับโครงสร้างใหม่ได้ง่ายควรได้รับการประเมินอย่างรอบคอบก่อนที่จะนำมาใช้ เมื่อทำการรีแฟคเตอร์โค้ด การทดสอบ E2E ที่ออกแบบมาอย่างดีมักไม่ต้องการการเปลี่ยนแปลงมากมาย และให้ความยืดหยุ่นในการปรับความกล้าภายในของแอปพลิเคชัน ในขณะเดียวกันก็ทำให้มั่นใจได้ว่าโค้ดจะยังคงทำงานต่อไปตามที่คาดไว้
นี่หมายความว่าคุณไม่ควรเขียนการทดสอบหน่วยใช่หรือไม่ ไม่เลย! มีหลายสถานการณ์ที่การทดสอบหน่วยเป็นโซลูชันที่สมบูรณ์แบบ อย่างไรก็ตาม เราพบว่าสำหรับการผสานรวมที่ซับซ้อน การทดสอบ E2E ทำงานได้ดีกว่า โดยทั่วไป การทดสอบหน่วยจะมีประสิทธิภาพสูงสุดเมื่อเขียนโค้ดที่ตรงตามเกณฑ์ต่อไปนี้:
- อัลกอริธึมที่ซับซ้อนพร้อมเคสหลายตัว
- กำหนดขอบเขตอย่างเข้มงวดด้วยข้อกำหนดที่กำหนดไว้อย่างดี
- จบงานหน่วยเดียว
- ไร้สัญชาติ
โค้ดที่ซับซ้อนขนาดเล็กที่มีขอบเขตจำกัดเหล่านี้มักเป็นส่วนประกอบสำคัญของแอปพลิเคชันขนาดใหญ่ และถึงแม้ว่าจะมีการปรับโครงสร้างใหม่ ฟังก์ชันเหล่านี้ก็ไม่น่าจะเปลี่ยนแปลงได้ ในโลกของเรา นี่อาจเป็นสิ่งต่างๆ เช่น ที่มาของที่อยู่ การตรวจสอบที่อยู่ การลงนามในธุรกรรม ฯลฯ
ประเด็นสำคัญที่นี่คือในฐานะทีมวิศวกรขนาดเล็ก ไม่มีทางที่เราจะรักษาปริมาณบริการที่เราสนับสนุนได้ในปัจจุบัน และ สร้างผลิตภัณฑ์ใหม่โดยไม่มีการทดสอบแบบ end-to-end การทดสอบหน่วยควรถือเป็นการเดิมพันแบบโต๊ะ แต่หากแยกจากกัน การทดสอบหน่วยจะไม่เพียงพอสำหรับเราที่จะก้าวต่อไปในพื้นที่ที่กำลังพัฒนานี้ แต่เราเลือกที่จะลงทุนมหาศาลกับชุดการบูรณาการและการทดสอบ E2E ที่แข็งแกร่ง ซึ่งจะยืนยันว่าบริการของเราจะดำเนินการได้สำเร็จในโหมดการทำงานทั่วไปส่วนใหญ่
ความท้าทายของการทดสอบ E2E
แม้ว่าการทดสอบ E2E จะมีประสิทธิภาพ แต่ก็ไม่ใช่ยาครอบจักรวาล เมื่อผสานรวมกับบริการของบุคคลที่สาม การทดสอบประเภทนี้มักจะสูญเสียคุณค่าไปอย่างมาก เนื่องจากปลายทางหรืออินเทอร์เฟซบางอย่างจำเป็นต้องจำลองเพื่อทดสอบโฟลว์ของฟังก์ชันหรือการเรียกใช้ที่เฉพาะเจาะจงได้อย่างเต็มที่ การเยาะเย้ยจะดีได้ก็ต่อเมื่อคุณเข้าใจบริการที่คุณกำลังเยาะเย้ย ผลลัพธ์ก็อาจเกิดข้อผิดพลาดได้เมื่อมีการอัปเดตบ่อยครั้งและมีขนาดใหญ่ การรักษารหัสของคุณเองและการล้อเลียนของคุณถือเป็นการละเมิดหลักการของ DRY (อย่าพูดซ้ำ) ซึ่งเป็นคำที่ David Thomas และ Andrew Hunt ตั้งขึ้นใน "The Pragmatic Programmer" ในหนังสือของพวกเขาพวกเขาระบุว่า "ความรู้ทุกชิ้นต้องมีการเป็นตัวแทนที่เชื่อถือได้เพียงคนเดียวที่ไม่คลุมเครือภายในระบบ" การสร้างเวอร์ชันจำลองของบริการใดๆ หมายความว่าขณะนี้มีสำเนาของบริการดังกล่าวที่อาจมีความแตกต่างกันสองชุด: เวอร์ชันจำลองและเวอร์ชันจริง ข้อผิดพลาดในการแปลพฤติกรรมของการพึ่งพาที่ล้อเลียนเป็นอีกประเด็นที่ต้องพิจารณา
ลงทะเบียนเพื่อช่วยเหลือ
โชคดีสำหรับเรา บล็อคเชนส่วนใหญ่รองรับความสามารถในการเรียกใช้เน็ตเวิร์กส่วนตัวชั่วคราว ซึ่งสามารถรวมเข้าด้วยกันเป็นส่วนหนึ่งของกระบวนการบูรณาการอย่างต่อเนื่อง (CI) / กระบวนการปรับใช้อย่างต่อเนื่อง (CD) ตัวอย่างที่ได้รับความนิยมมากที่สุดคือโหมดการทดสอบการถดถอยของ Bitcoin (regtest) เมื่อคุณเริ่ม bitcoind ด้วยตัวเลือก `-regtest` จะสร้างสภาพแวดล้อม blockchain ในพื้นที่ใหม่ที่คุณควบคุมได้อย่างสมบูรณ์ คุณลักษณะหลักของโหมดลงทะเบียนคือคุณสามารถขุดบล็อกได้ตามต้องการ ทำให้การทดสอบ E2E ของคุณดำเนินการฝากและถอนเงินและถอนเงินทุกประเภทและรูปแบบต่างๆ ได้สำเร็จ โดยจำลองสถานการณ์หลายร้อยสถานการณ์ภายในไม่กี่วินาที กรณี Edge และสถานการณ์เฉพาะอื่น ๆ สามารถจำลองได้อย่างง่ายดายในโหมด regtest เช่นธุรกรรม multisig, re-orgs, แทนที่ด้วยค่าธรรมเนียม (RBF), ลูกจ่ายสำหรับผู้ปกครอง (CPFP) และอีกมากมาย! การทดสอบเหล่านี้ไม่เพียงแต่ทำให้มั่นใจว่าโค้ดของเราไม่มีข้อผิดพลาด แต่ยังตรวจสอบสถานะสิ้นสุดของบล็อคเชนและบัญชีแยกประเภทของเราเพื่อให้แน่ใจว่าทุกอย่างทำงานตามที่คาดไว้
ในกระบวนการเพิ่มการรองรับคริปโตเคอเรนซีใหม่บน Kraken ทีมเงินทุนจะสร้างกรอบงานการลงทะเบียนสำหรับรายชื่อใหม่ทั้งหมด รหัสนี้เป็นพื้นฐานของระบบการบำรุงรักษาของเรา ทุกครั้งที่มีการเปิดตัวเวอร์ชันใหม่ เป็นเพียงเรื่องของการอัปเดตเวอร์ชันโหนดบล็อกเชนและเรียกใช้ไปป์ไลน์ CI ของเราอีกครั้งเพื่อให้แน่ใจว่าไม่มีการเปลี่ยนแปลงที่เสียหาย การอ่านบันทึกย่อประจำรุ่นและการทำงานร่วมกันกับชุมชนอย่างระมัดระวังยังคงเป็นสิ่งที่จำเป็นอย่างมาก แต่การทดสอบเหล่านี้ทำให้เรามั่นใจในการออกเวอร์ชันใหม่ที่เราคงไม่มี
โซลูชั่นที่สร้างสรรค์
น่าเสียดายสำหรับเรา ไม่ใช่ว่าทุกบล็อกเชนจะผ่านการทดสอบการต่อสู้อย่าง Bitcoin บล็อคเชนใหม่มักจะแนะนำแนวคิดใหม่ ๆ และเพื่อให้ลูกค้าของเราสามารถเข้าถึงเทคโนโลยีใหม่ที่น่าตื่นเต้นที่สุด Kraken ต้องการที่จะเปิดตัวการสนับสนุนสำหรับบล็อคเชนใหม่ให้ใกล้เคียงกับการเริ่มต้นของเครือข่ายหลักมากที่สุด เพื่อสนับสนุนสินทรัพย์ใหม่อย่างปลอดภัยในหรือใกล้ถึงวันที่เปิดตัว บางครั้ง Kraken จำเป็นต้องพัฒนาชุดทดสอบที่ซับซ้อนเพื่อเพิ่มความมั่นใจในการรวมระบบ และเพื่อให้แน่ใจว่าเงินทุนของลูกค้าจะไม่ตกอยู่ในความเสี่ยง
ภาพประกอบที่สมบูรณ์แบบของสิ่งนี้คือเมื่อ Kraken เปิดตัวรองรับ Ethereum 2.0 เพียง 3 วันหลังจาก mainnet เปิดใช้งานในวันที่ 1 ธันวาคม 2020 แม้ว่าบุคคลและบริษัทหลายพันรายทั่วโลกช่วยทดสอบ Ethereum 2.0 บนเครือข่ายทดสอบหลายตัว เช่น Medalla และ Spadina แต่เราก็ยัง ตัดสินใจที่จะนำแนวคิดของการทดสอบการลงทะเบียนไปสู่อีกระดับหนึ่งด้วยการผสานรวมนี้ เรารู้ตั้งแต่เนิ่นๆว่า Ethereum 2.0 จะเป็นการพัฒนาที่สำคัญ และความเชื่อดังกล่าวได้พิสูจน์แล้วว่าเป็นความจริง เนื่องจาก ETH นับล้านได้ถูกเดิมพันบน beacon chain ซึ่งรวมถึง ETH มากกว่า 800,000 ETH ที่ลูกค้า Kraken เดิมพัน
ด้านล่างนี้ คุณสามารถดูไดอะแกรมของชุดบริการที่ไปป์ไลน์การผสานรวมอย่างต่อเนื่อง (CI) ของเราจะขยายและแยกย่อยทุกครั้งที่นักพัฒนาส่งโค้ดไปยังที่เก็บโค้ด ETH2 ของเรา
ในระดับสูง ขั้นตอนการทดสอบคือ:
- เริ่มโหนดหลักและโหนดสำรองของ ETH1 (แต่ละโหนดผลัดกันทำเหมืองเพื่อหาฉันทามติ) โดยมีกำเนิดที่มีจำนวน ETH เริ่มต้นสำหรับการทดสอบ
- เริ่มต้นโหนดบีคอนบีคอน ETH2 เป็นเชนส่วนตัวโดยใช้โหมดการกำหนดค่าขั้นต่ำพิเศษ ซึ่งจำเป็นต้องมีตัวตรวจสอบความถูกต้องเพียง 16 ตัวเพื่อเปิดใช้งานการกำเนิด
- ปรับใช้สัญญาอัจฉริยะ ETH2 กับบล็อคเชน ETH1
- ฝาก ETH เข้าในสัญญาการฝาก ETH2 ที่เงินถูกเผาและตัวตรวจสอบจะถูกสร้างขึ้นบนโหนดตัวตรวจสอบภายนอก ETH2 สิ่งเหล่านี้คือตัวตรวจสอบความถูกต้องที่เพิ่งใช้งานเครือข่าย ETH2 และได้รับการปฏิบัติเสมือนว่าเป็นเครื่องตรวจสอบภายนอกของ Kraken
- เริ่มตัวสำรวจบล็อก ETH1 และ ETH2
- เริ่มฐานข้อมูล
- เริ่มเกตเวย์และผู้ลงนาม
- ใส่คำขอของลูกค้าเพื่อเดิมพัน ETH -> ETH2
- เกตเวย์รับคำขอของลูกค้าและส่ง ETH ไปยังสัญญาการฝากเงินบนบล็อคเชน ETH1 และสร้างผู้ตรวจสอบจำนวนที่สอดคล้องกันบนโหนดตัวตรวจสอบภายใน ETH2 เครื่องมือตรวจสอบถูกแยกออกเป็นชุดเครื่องมือตรวจสอบภายในและภายนอก เพื่อให้เราสามารถทดสอบว่าเกิดอะไรขึ้นเมื่อผู้ตรวจสอบความถูกต้องของเราหยุดทำงาน (เพื่อทดสอบการเฉือน บทลงโทษ การเสียรางวัล) และเพื่อดูว่าจะเกิดอะไรขึ้นเมื่อเครือข่ายที่เหลือหรือออฟไลน์ แต่ผู้ตรวจสอบความถูกต้องของเรา ยังคงอยู่
- ตรวจสอบจนกว่าผู้ตรวจสอบความถูกต้องจะทำงานบนเครือข่าย ETH2 เริ่มติดตามรางวัล การจ่ายเงิน การทดสอบอย่างเจ็บแสบและบทลงโทษ การตรวจจับรางวัลที่หายไป และการจ่ายรางวัลให้กับลูกค้า
- เรียกใช้กระบวนการกระทบยอดทางการเงินที่แยกจากกันในธุรกรรมทั้งหมดเพื่อให้แน่ใจว่าทุกอย่างในบัญชีแยกประเภทของเราตรงกันอย่างถูกต้อง
ข้างต้นเป็นเพียงบทสรุประดับสูงของสิ่งที่เกิดขึ้นภายในกรอบการทดสอบของเรา มีการทดสอบ การตรวจสอบ และการตรวจสอบความถูกต้องอื่นๆ อีกจำนวนหนึ่งที่เกิดขึ้น หากนักพัฒนาจำเป็นต้องแก้ไขข้อบกพร่องบางอย่างหรือดูสถานะของเครือข่ายใดเครือข่ายหนึ่ง พวกเขาสามารถปรึกษานักสำรวจบล็อกเพื่อดูว่าเกิดอะไรขึ้นโดยสรุป โดยปกติแล้ว เราไม่ได้รวมนักสำรวจบล็อกไว้ในไปป์ไลน์ CI ของเรา แต่เมื่อพิจารณาถึงความซับซ้อนของการผสานรวม มันจึงมีประโยชน์ในระหว่างขั้นตอนการพัฒนาเพื่อให้เห็นภาพว่าเกิดอะไรขึ้นบนเครือข่าย
คุณอาจคิดว่าสิ่งนี้จะเพิ่มความล่าช้าอย่างมากให้กับไปป์ไลน์ CI ของเรา แต่นั่นก็ไม่ใช่เรื่องดีที่โชคดี ปัจจุบันไปป์ไลน์ CI แบบเต็มสำหรับ Ethereum 2.0 repo ของเราใช้เวลาเพียง 14 นาทีในการทำงาน ซึ่งรวมถึงการตรวจสอบ/สร้างการพึ่งพาทั้งหมด การเริ่มต้นบริการทั้งหมด การปรับใช้สัญญาอัจฉริยะต่างๆ กับบล็อกเชน บล็อกการขุด การสร้างเครื่องมือตรวจสอบความถูกต้อง จากนั้นจึงดำเนินการทดสอบมากกว่า 100 สถานการณ์
ข้อคิด
การพัฒนาการทดสอบ E2E ที่ครอบคลุมสำหรับทุกการรวมบล็อคเชนที่ Kraken ใช้ทรัพยากรทางวิศวกรรมจำนวนมาก เป็นราคาที่เรายินดีจ่าย เนื่องจากข้อกังวลหลักของเราคือความปลอดภัยของเงินทุนของลูกค้า และทำให้มั่นใจว่าพวกเขามีประสบการณ์ที่มีคุณภาพบนแพลตฟอร์มของเรา ทีมงานของเราสามารถเผยแพร่ผลิตภัณฑ์เพิ่มเติมได้หรือไม่หากเราใช้เวลาทดสอบน้อยลงเมื่อสร้างการผสานรวมใหม่ โดยไม่มีคำถาม อย่างไรก็ตาม การทำเช่นนี้จะขัดต่อหลักจริยธรรมและค่านิยมของไม่เพียงแต่ทีมวิศวกรเท่านั้น แต่ยังขัดต่อบริษัทโดยรวมด้วย การทดสอบเหล่านี้ช่วยให้แน่ใจว่าเราสามารถอัปเดตซอฟต์แวร์บล็อกเชนเวอร์ชันใหม่ได้อย่างปลอดภัย เพิ่มความมั่นใจระหว่างฮาร์ดฟอร์ค/ซอฟต์ฟอร์ค และลดความเครียดของนักพัฒนาเมื่อปรับใช้การเปลี่ยนแปลง
เหตุใดวิศวกรของ Kraken จึงได้รับการยอมรับมากที่สุดในอุตสาหกรรมนี้ ข้อความนี้ จาก Steve Hunt รองประธานฝ่ายวิศวกรรมของ Kraken กล่าวถึงค่านิยมและความทุ่มเทของเราในการช่วยเหลือวิศวกรบล็อคเชนคนอื่นๆ
ที่มา: https://blog.kraken.com/post/10227/testing-crypto-payments-staking-at-kraken/
- &
- 000
- 11
- 2020
- เข้า
- ลงชื่อเข้าใช้
- คล่องแคล่ว
- ทั้งหมด
- ธุรกรรมทั้งหมด
- การอนุญาต
- การใช้งาน
- สถาปัตยกรรม
- รอบ
- สินทรัพย์
- สินทรัพย์
- การต่อสู้
- ห่วงโซ่สัญญาณ
- Bitcoin
- blockchain
- BTC
- สร้าง
- การก่อสร้าง
- โทรศัพท์
- กรณี
- ท้าทาย
- เปลี่ยนแปลง
- การตรวจสอบ
- เด็ก
- รหัส
- การทำงานร่วมกัน
- มา
- ร่วมกัน
- ชุมชน
- บริษัท
- บริษัท
- ความมั่นใจ
- เอกฉันท์
- อย่างต่อเนื่อง
- สัญญา
- สัญญา
- การสร้าง
- การเข้ารหัสลับ
- คริปโตเคอร์เรนซี่
- cryptocurrency
- ฐานข้อมูล
- จัดการ
- ความล่าช้า
- การตรวจพบ
- พัฒนา
- ผู้พัฒนา
- นักพัฒนา
- พัฒนาการ
- ผู้อำนวยการ
- ก่อน
- ขอบ
- มีประสิทธิภาพ
- วิศวกร
- ชั้นเยี่ยม
- วิศวกร
- สิ่งแวดล้อม
- ERC20
- ETH
- ethereum
- Ethereum 2.0
- ร๊อค
- เหตุการณ์
- ตลาดแลกเปลี่ยน
- FAST
- ลักษณะ
- คุณสมบัติ
- เงินตรา
- ทางการเงิน
- ความยืดหยุ่น
- ไหล
- กรอบ
- เต็ม
- ฟังก์ชัน
- การระดมทุน
- เงิน
- อนาคต
- General
- แหล่งกำเนิด
- ดี
- ยิ่งใหญ่
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- จุดสูง
- บ้าน
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- HTTPS
- ร้อย
- รวมทั้ง
- เพิ่ม
- อุตสาหกรรม
- โครงสร้างพื้นฐาน
- บูรณาการ
- การผสานรวม
- ความเหงา
- IT
- การเก็บรักษา
- คีย์
- ความรู้
- คราเคน
- ใหญ่
- เปิดตัว
- นำ
- ชั้น
- รายชื่อ
- ในประเทศ
- LTC
- การทำ
- การทำเหมืองแร่
- เดือน
- เป็นที่นิยม
- มัลติซิก
- เครือข่าย
- คุณสมบัติใหม่
- ผลิตภัณฑ์ใหม่
- โหนด
- เสนอ
- การดำเนินงาน
- ตัวเลือกเสริม (Option)
- ใบสั่ง
- อื่นๆ
- อาการเจ็บปวด
- ชำระ
- การชำระเงิน
- เวที
- ยอดนิยม
- ราคา
- ส่วนตัว
- ผลิตภัณฑ์
- โครงการ
- คุณภาพ
- การอ่าน
- ลด
- ความเชื่อมั่น
- ความต้องการ
- แหล่งข้อมูล
- REST
- รางวัล
- ความเสี่ยง
- วิ่ง
- วิ่ง
- ความปลอดภัย
- จอภาพ
- บริการ
- ชุด
- เล็ก
- สมาร์ท
- สัญญาสมาร์ท
- สัญญาสมาร์ท
- So
- ซอฟต์แวร์
- ช่องว่าง
- เดิมพัน
- ปักหลัก
- เริ่มต้น
- สถานะ
- ความเครียด
- สนับสนุน
- ที่สนับสนุน
- รองรับ
- ระบบ
- เทคโนโลยี
- ชั่วคราว
- ทดสอบ
- การทดสอบ
- การทดสอบ
- เวลา
- โทเค็น
- ด้านบน
- การติดตาม
- การทำธุกรรม
- การทำธุรกรรม
- บันทึก
- การปรับปรุง
- us
- ความคุ้มค่า
- ปริมาณ
- เว็บ
- สัปดาห์
- ภายใน
- งาน
- โลก
- X
- XRP
- ปี