Açık kaynak dijital para ticareti platformu (Java) / CoinExchange

Kısa tanıtım

Bu proje bir Bitcoin değişimi | BTC değişimi | ETH değişimi | dijital para birimi değişimi | ticaret platformu | Java tabanlı geliştirilmiş eşleştirme ticaret motorudur. Bu proje, dijital para borsalarını oluşturmak ve yeniden geliştirmek için kullanılabilen SpringCloud mikro hizmet geliştirmesine dayanmaktadır.Tam eşleşen bir işlem motoru kaynak kodu, arka uç yönetimi (arka uç + ön uç), ön uç (ticaret sayfası, etkinlik sayfası, kişisel merkez vb.), Yerel Android APP kaynak kodu (ücretli), yerel Apple APP kaynak kodu (ücretli), para birimi cüzdan RPC kaynak kodu.

Sistem mimarisi özeti

Rastgele bir çizim yapın, sadece onunla yetin. . .

Sistem tanıtım videosu

PC ön ucu (kullanıcı web ucu): https://gitee.com/cexchange/CoinExchange/attach_files

Mobil Uygulama: https://gitee.com/cexchange/CoinExchange/attach_files

Yönetim arka planı: https://gitee.com/cexchange/CoinExchange/attach_files

Geliştirme referansı

Geliştirme referans belgesi: https://gitee.com/cexchange/CoinExchange/blob/master/DEVELOP.md

Yönetim arka planının ekran görüntüsü: https://gitee.com/cexchange/CoinExchange/tree/master/09_DOC/ Yönetim arka plan ekran görüntüsü

Sistem işletim ortamı
  • Centos 6.8
  • MySQL 5.5.16
  • Redis-x64-3.2.100
  • Mongodb 3.6.13
  • kafka_2.11-2.2.1
  • nginx-1.16.0
  • JRE 8u241
  • JDK 1.8
  • Vue
  • Hayvan bakıcısı
  • Dosya dizini açıklaması

    00_framework

    yönetici arka plan yönetimi API'si

    bitrade-iş görev yönetimi

    OTC sohbet sohbet

    bulut SpringCloud mikro hizmet yönetimi

    çekirdek

    takas eşleştirme ticaret motoru

    exchange-api Eşleştirme işlem API'si

    değişim çekirdek eşleştirme işlem çekirdeği

    jar üçüncü taraf kitaplığı

    pazar API'si, K-hattı oluşturma

    otc-api OTC ticaret API'si (otc işlevi gerekmiyorsa, etkinleştirilemez)

    otc çekirdekli OTC çekirdeği

    sql SQL komut dosyası

    ucenter-api Kullanıcı Kişisel Merkezi API'si

    RPC ile kenetlenmekten sorumlu cüzdan cüzdan varlık yönetimi

    01_wallet_rpc

    hareket etmek

    bch

    bitcoin

    bsv

    btm

    ect

    eos

    erc-eusdt

    erc-belirteci

    eth

    eth-destek

    lib

    ltc

    rpc-ortak

    usdt

    xmr

    02_App_Android

    03_App_IOS

    04_Web_Admin

    05_Web_Front

    Öğreticiyi kullan
  • Mysql veritabanını hazırlayın, "xxxx" adlı bir veritabanı oluşturun
  • Redis önbellek veritabanını hazırlayın
  • Kafka akış ortamını hazırlayın (önce zooper'ı yapılandırın ve çalıştırın, ardından kafka'yı yapılandırın ve çalıştırın)
  • Mongodb veritabanı ortamını hazırlayın, kullanıcı yöneticisi oluşturun, xxxx, bitrade veritabanı oluşturun
  • Alibaba Cloud OSS'yi hazırlayın (projede yapılandırılması gerekenleri değiştirin)
  • Nginx'i hazırlayın ve yapılandırma dosyasını değiştirin (isteğe bağlı, yapılandırma resmi başlatma için gereklidir)
  • Ortam yapılandırma parametrelerini hazırlamak için çerçeve kodundaki yapılandırma dosyasını değiştirin
  • Jar çalıştırılabilir dosya derleyin ve oluşturun
  • Cloud.jar'ı çalıştırın (mikro hizmet kayıt defteri)
  • Exchange.jar dosyasını çalıştır (eşleşen işlem motoru)
  • Market.jar dosyasını çalıştırın (teklif merkezi, Exchange.jar'ın tamamen başlaması için beklemeniz gerekir)
  • Ucenter.jar'ı (Kullanıcı Merkezi) çalıştırın
  • Diğer modülleri çalıştırın (wallet.jar, chat.jar, otc-api.jar, vb.)
  • Mysql'yi açın ve çerçeve kodundaki sql klasöründeki xxxxxxx.sql dosyasını içe aktarın.Tetikleyici sql bir hata rapor ederse, cüzdan tablosuna bir tetikleyici eklemeniz gerektiğini unutmayın.
  • Ön uç vue projesini çalıştırın
  • Arka uç vue projesini çalıştırın
  • Cüzdan RPC'sini çalıştır
  • Otomatik ticaret robotu programını çalıştırın (kodun bu kısmı yüklenmedi, ancak etkilemiyor)
  • Teknik Destek

    Bu dijital para alım satım sistemi, şirketimiz tarafından borsa için geliştirilen bir projedir.Borsa ekip nedenlerinden dolayı çalışmayı durdurmuş, şirketimiz de şubat ayında feshedilmiştir. Projeye katıldığımda, genel Ar-Ge yönetimi, mimari tasarım ve müşteri yerleştirmeden sorumluydum, bu nedenle tüm kodlarda ustalaştım.

    Yeni bir ticaret çifti oluşturulduktan sonraki diğer işlemler gibi, bu sistemin kullanımında özel dikkat gerektiren bazı alanlar vardır.Uygun olmayan işlemler veri bozukluğu hatalarına neden olacaktır.

    Ücretli teknik yardım sağlayabilir ve eğitim rehberliği kullanabilirim!

    İletişim QQ: 877070886

    Mobil kaynak kodu ve ticaret robotu kaynak kodu hakkında

    Android kaynak kodu, IOS kaynak kodu ve ticaret robotu kaynak kodu ücret karşılığında sağlanır ve ayrıca QQ: 877070886

    Android kaynak kodu: 10000 (hata ayıklama ve kurulum olmadan), 50000 (hata ayıklama ve kurulumla)

    IOS kaynak kodu: 15000 (hata ayıklama ve kurulum olmadan), 80000 (hata ayıklama ve kurulum ile)

    Ticaret robotu kaynak kodu: 10000 (hata ayıklama ve kurulum olmadan), 30000 (hata ayıklama ve kurulum ile)

    Mobil kaynak kodu, ustaların hata ayıklaması ve başarıyla yüklemesi için temelde kolaydır. Nasıl yapılacağını bilmiyorsanız, yardım etmeme izin verebilirsiniz.

    Önlemler

    Bellek yetersiz olduğunda, java işleminin çok fazla bellek kapladığını (bir java işlemi 1G'den fazla yer kaplar) görmek için linux konsoluna top girebilirsiniz, çünkü çalıştırılacak çok sayıda jar paketi vardır, bu nedenle bazı jar paketleri tarafından kullanılan belleği kontrol etmeniz gerekir, seçim yapabilirsiniz Fazla kaynak tüketmeyen birkaç proje şu şekildedir:

    java -jar -Xms128m -Xmx128m -Xmn200m -Xss256k admin-api.jar

    java -jar -Xms512m -Xmx512m -Xmn200m -Xss256k cloud.jar

    java -jar -Xms512m -Xmx512m -Xmn200m -Xss256k wallet.jar

    E-posta mesajları hakkında
  • Bu sistem, e-posta ve SMS gönderme sistemi işlem durumunu destekler
  • Sistem bildirimi / alarm desteği: Kullanıcı kaydı, kullanıcı kimlik doğrulama, kullanıcı yeniden yükleme / geri çekme, para birimi RPC işlem durumu, sistem kaynak kullanımı izleme vb. Gibi 24 tür izleme
  • Veritabanı komut dosyalarıyla ilgili sorular

    Bazı arkadaşlar tam bir SQL dosyası olmadığını bildirdi. Bunun nedeni, başarıyla derlenen Jar'ın Varlığı ilk çalıştırmadan sonra otomatik olarak veritabanı yapısıyla eşleştirmesidir.Projedeki SQL yalnızca Springcloud'un tamamlayamadığı bazı veritabanı yapılarını tamamlar. Otomatik veritabanı oluşturma yapılandırması, application.properties yapılandırma dosyasında bulunur:

    #jpa

    spring.jpa.show-sql = true

    spring.data.jpa.repositories.enabled = true

    spring.jpa.hibernate.ddl-auto = güncelleme

    spring.jpa.hibernate.ddl-auto = update Bu yapılandırma, veritabanı yapısını otomatik olarak güncelleyecektir.

    Temel işlev açıklaması (kullanıcı terminali)
  • Kayıt / oturum açma / gerçek ad doğrulama / denetim (şu anda yalnızca cep telefonlarını desteklemektedir, ikincil geliştirme postaya eklenebilir, çok basit)
  • Banner / Duyuru / Yardım / Özelleştirilmiş Sayfa (Banner, PC ve APP için ayrı ayarları destekler ve çeşitli sınıflandırma modlarını desteklemeye yardımcı olur)
  • Fiat para birimi C2C işlemi / fiat para birimi OTC işlemi (iki yasal para birimi modunu destekler, platform projenin erken aşamasında C2C yasal para birimi değişimini üstlenebilir ve OTC işlemleri daha sonra açılabilir)
  • Döviz ticareti (destek limit fiyat komisyonu, piyasa fiyatı komisyonu, ikincil geliştirme diğer komisyon modlarını ekleyebilir)
  • Kayıt / promosyon ortaklarını davet edin (davet edilen destekçiler ve komisyonların sayısı hakkında günlük, haftalık ve aylık sıralama istatistiklerini destekler)
  • İnovasyon Laboratuvarı (Bu bölüm birçok işlevi desteklemektedir ve ayrı olarak açıklanmıştır.Ayrıca APP şu anda bu işlevi desteklememektedir)
  • 6-1. İlk acele satın alma etkinliği modu (örneğin, yeni bir alım satım çifti verildiğinde, alım satım çiftinin kapanması için belirli sayıda para birimi ayarlanabilir)

    6-2. İlk dağıtım etkinliği modu (örneğin, BTC / USDT alım satım çifti verilmeden önce, etkinlik için resmi 5 BTC kullanılır ve BTC, kullanıcının yatırdığı ve ipoteklerin yatırdığı USDT miktarına göre eşit olarak bölünür)

    6-3. Panik satın alma modu (örneğin, ZZZ / USDT ticaret çifti verilmeden önce, ZZZ para birimi fiyatı 5USDT'dir ve resmi ihraç fiyatı 0.5USDT'dir, bu durumda bu mod kullanılabilir)

    6-4. Kontrol plakası paylaşım modu (6-3 gibi, ancak eşit dağıtım)

    6-5. Madencilik makinesi aktivite modu (kullanıcıların belirli sayıda para birimini ipotek etmesini destekler ve resmi her ay belirli sayıda para birimi iade etme sözü verir)

  • Kırmızı zarf işlevi (belirli sayıda para birimi için destek platformu ve resmi kırmızı zarflar, bu işlev kullanıcı bölünmesi için uygundur)
  • Kullanıcı varlık yönetimi, akış yönetimi, emanet edilen yönetim, gerçek ad yönetimi gibi çeşitli temel yönetim.
  • Temel işlev açıklaması (yönetim tarafı)
  • Özet (işlem tutarı, kayıtlı kişi sayısı, yeniden yükleme vb. Dahil olmak üzere platform işletim verilerini kontrol edin)
  • Üye yönetimi (üye bilgi yönetimi, üye gerçek adı incelemesi, üye gerçek adı yönetimi, üye bakiyesi yönetimi, üye yeniden yükleme / dondurma bakiyesi vb.)
  • Davet yönetimi (üye davet bilgileri, üye davet sıralama yönetimi)
  • CTC yönetimi (CTC sipariş yönetimi, akış yönetimi, alıcı yönetimi)
  • İçerik yönetimi (PC reklam yönetimi, APP reklam yönetimi, duyuru yönetimi, yardım yönetimi)
  • Finansal yönetim (yeniden doldurma ve çekme yönetimi, finansal akış yönetimi, mutabakat yönetimi, döviz cüzdanı bakiye yönetimi)
  • Döviz yönetimi (yeni ticaret çifti, yönetim ticaret çifti, yeni ticaret robotu, ticaret robotu parametrelerini ayarlama, piyasa motorunu / ticaret motorunu ayarlama, tüm siparişleri iptal etme)
  • Aktivite yönetimi (yeni aktivite, madencilik makinesi aboneliği, panik satın alma / bölme yönetimi)
  • Kırmızı zarf yönetimi (platform kırmızı zarf yönetimi, kullanıcı kırmızı zarf yönetimi)
  • Sistem yönetimi (rol yönetimi, departman yönetimi, kullanıcı yönetimi, yetki yönetimi, para birimi yönetimi, RPC yönetimi, sürüm yönetimi)
  • Marj yönetimi (bu işlev tasarımda dikkate alınır, ancak fiili işlem sırasında kullanılmaz)
  • OTC yönetimi (reklam yönetimi, sipariş yönetimi, OTC para yönetimi, teslim yönetimi vb., Bu işlev gerçek işlemler tarafından test edilmemiştir)
  • Blockchain cüzdan yerleştirme hakkında

    Kodu aldıktan sonra, bu projenin hata ayıklaması ve çalıştırılması sırasında, çok fazla etkisi olmayacak olan blockchain düğümünü bağlayamazsınız; blockchain düğümünü bağlamasanız bile, işlem eşleştirme işlevlerinden birini de dağıtabilirsiniz. Ticaret platformu (sadece kullanıcılar cüzdan adresi üzerinden şarj edemezler).

    Tüm sisteme aşina olduğunuzda ve belirli bir temel blockchain çalışma prensibi, düğüm yapısı ve blok zinciri tarayıcısı rezervine sahip olduğunuzda, başlayabilirsiniz. 01_wallet_rpc Klasörün altındaki öğeleri araştırın. Her para birimi farklı bir veri erişim yöntemine karşılık gelir.Blok zinciri projelerinin çoğunun cüzdan işlem yöntemleri aynı veya çok benzerdir.Örneğin, BTC, LTC, BCH, BSV, BCD vb. Bitcoin türevleri, API işlem yöntemleri neredeyse Aynı şey; başka bir örnek ETH'dir.Bir sözleşme para biriminin işleyişinde ustalaştığınızda, ETH'ye dayalı olarak ihraç edilen diğer dijital para birimlerinin işlemleri hemen hemen aynıdır. Yani, temelde birini anlamak için zaman ayırdığınızda, bir sürü para birimini anlarsınız.

    Bu projede kullanılan cüzdan işlem şeması da farklıdır ve size farklı kullanımları göstermek için elimden geleni yapıyorum:

    • Örneğin, kendi oluşturduğu tam düğümleri kullanan BTC, USDT artık neredeyse 300G sabit disk alanına ihtiyaç duyuyor;
    • Örneğin, ETH kendinden oluşturulmuş hafif düğümleri kullanır (makaleye bakın), çünkü tam düğümler çok fazla sabit disk alanı gerektirir;
    • BCH, BSV, vb. Gibi, veri elde etmek için üçüncü taraf bir blok zinciri tarayıcısı kullanır;
    • Örneğin XRP, blok verilerine erişmek için bir arayüz sağlamıştır (Ripple API GitHub adresi)

    Genel olarak, borsadaki para miktarı büyük olmadığında, bunu kendiniz keşfedebilirsiniz, ancak borsadaki fon miktarı büyük olduğunda, cüzdanınızı kullanmakta rahat değilseniz, üçüncü taraf bir cüzdan hizmetini de kullanabilirsiniz. Elbette bu, cüzdan servis sağlayıcısıyla görüşmenizi ve yıllık bir ücret veya başka bir şey ödemenizi gerektirir.

    Aşağıdaki şekil, kullanıcının şarj izleme mantığının kısa bir açıklamasıdır, sadece bir göz atın:

    Sistem ekranı (PC ön ucu)

    Sistem çalışma ekranı (APP ön ucu)

    Mobil web sayfasının parçası

    Sistem çalışma ekranı (arka uç)

    APP indirme resmi örneği

    sunFlow, camunda temel alınarak geliştirilmiş bir iş akışı web sistemine dayanmaktadır.
    önceki
    asyncTool, herhangi bir çok iş parçacıklı paralel, seri, engelleme, bağımlılık ve geri çağrı çerçevesini çözer
    Sonraki
    Verilerde Tayvan'da çok fazla vaka var, hangileri gerçekten bankalar için geçerli?
    Yüce Tanrı, alan odaklı tasarımı üç dakikada anlar
    Genel bulut üzerinde mikro hizmet mimarisine dayalı SAAS ürün araştırma ve geliştirme uygulaması
    Mikro hizmet mimarisinin kararlılığını ve veri tutarlılığını iyileştirmek için bir yöntem
    API ağ geçidi ve SCF'nin derinlemesine entegre uygulaması
    Bu şeyin% 30 daha az kod yazmanıza yardımcı olabileceği söyleniyor
    Günlük 2 milyar verinin işlenmesi, gerçek zamanlı kullanıcı davranışı hizmet sistemi mimarisi uygulaması
    Mobil Taobao mobil terminal erişim ağ geçidi altyapısının evrimi
    B2B e-ticaret Yiding'i örnek olarak alın, veri gömme noktalarından ürün yöneticilerinin bakış açısından bahsedin
    Netty ve Kafka'daki sıfır kopya teknolojisi ne kadar harika?
    Xu Dongdong'un çıplak bir omuz resmi olduğu sürece, çılgınca yayılacak! Straplez kırmızı elbise ile retro örgülü saç, güzel resim
    "He Fanxing" in kayınbiraderi aşkıyla karşılaştırıldığında, Song Qian'ın gardırobu benim istediğim şey, ikisinin de uzun bacakları var.
    To Top