بهترین زبان برنامه نویسی ساخت صرافی ارز دیجیتال
صاحبان صرافی های ارز دیجیتال با یک چالش روبرو هستند و آن انتخاب بهترین زبان برنامه نویسی برای راه اندازی صرافی ارز دیجیتال است این موضوع بعد از بررسی ها گسترده به یکسری نتیجه های جالب ختم شد که بستگی به حجم بالای معاملات دارد اگر حجم معاملات شما کم است یعنی کمتر از 100 تراکنش در ثانیه این موضوع این مقاله خیلی برای آنها ضروری نیست اما اگر حجم صرافی شما بالاست و یا نیاز به روش شدن چشم انداز دارید این مقاله به شما در مورد انتخاب بهترین زبان کمک میکند .
این مقاله صرفا به هسته ساخت هسته صرافی پرداخته است و ارتباطی با زبان های محبوب و پرکاربرد که در شبکه بلاکچین استفاده میشود ندارد به طور مثال یکی از زبان هایی که در این حوزه بسیار محبوب و پرکاربرد است Solidity نام دارد که زبان ساخت قراردادهای هوشمند است که در شبکه هایی مانند اتریوم یا ترون استفاده میشود که این موضوع به بحث ساخت قراردادهای هوشمند یا توکن ها مربوط میشوند.
اما قبل از اینکه بخواهیم موضوع را تخصصی بررسی کنیم باید پروژه صرافی را به دو قسمت موتور تطبیق (Matching Engine) و پلتفرم صرافی تقسیم بندی کرد . ممکن است یک صرافی در ابتدای فعالیت خود باشد و خیلی به اهمیت جدا بودن موتور تطبیق توجه نداشته باشد اما اگر با نگاهی عمیق به موفقیت های صرافی های موفق نگاه کنیم آنها این معماری نرم افزاری را به خوبی رعایت کرده اند.
موتور تطبیق
قاب تپنده هر صرافی است که سفارشات را دریافت میکند بر اساس نوع الگوریتمی که دارد مثلا Time Base بودن سفارشات آنها را فروشندگان و خریداران تقسیم میکند . اصلی ترین نکته در موتور تطبیق این است که استفاده از زبانهایی که Multi Thread هستند باید استفاده شود و این ویژگی تاثیر به شدت زیادی در صرافی های بزرگ دارد زبان هایی که Multi Thread را پشتیبانی میکنند مانند java , Rust , Go است . این بخش با تکنولوژی هایی سطح بالایی تحت عنوان gRPC با بخش پلتفرم صرافی ارتباط برقرار میکند و سفارشات را دریافت و پردازش میکند و به بخش اصطلاحا MicroService نیز گفته میشود.
پلتفرم صرافی
شامل مجموعه بخش هایی است که مشتری میتواند از امکانات صرافی استفاده کند زبان برنامه نویسی این قسمت خیلی میتواند مانند انواع پلتفرم ها و نرم افزارهای تحت وب انتخاب شود مانند PHP یا Python که هیچ ارتباطی با زبان موتور تطبیق ندارد. نکته مهم در زبان برنامه نویسی پلتفرم جدا از موتور تطبیق به روز بودن و استفاده از فریم ورک های قدرتمند مانند لاراول یا جنگو می باشد و از نظر توانایی تفاوتی در میان این دو زبان وجود ندارد و یا هر زبان دیگر . از مهم ترین بخش هایی که توسط این بخش مدیریت میشود ( عضویت - ارسال و تایید مدارک - ایجاد کیف پول - واریز وجه از طریق درگاه های آنلاین - مشاهده موجودی کیف پول ها در ارز های مختلف - ارتباط با پشتیبانی و نمایش تاریخچه سفارشات و معاملات است )