Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • ecma_2015
  • gulp_v4
  • upgrade_js_libs
  • Vivakvo/cesium-patch-8
  • issue_4
  • issue_780
  • gitlab_migration_1
  • dev
  • rml8
  • v1.6.7
  • v1.6.6
  • v1.6.5
  • v1.6.4
  • v1.6.3
  • v1.6.2
  • v1.6.2-alpha
  • v1.6.1
  • v1.6.0
  • v1.5.12
  • v1.5.11
  • v1.5.10
  • v1.5.9
  • v1.5.8
  • v1.5.7
  • v1.5.6
  • v1.5.5
  • v1.5.4
  • v1.5.3
  • v1.5.2
30 results

development_guide.md

Blame
  • Forked from clients / Cesium-grp / Cesium
    Source project has a limited visibility.
    server.ts 23.39 KiB
    import {IdentityService} from "./app/service/IdentityService"
    import {MembershipService} from "./app/service/MembershipService"
    import {PeeringService} from "./app/service/PeeringService"
    import {BlockchainService} from "./app/service/BlockchainService"
    import {TransactionService} from "./app/service/TransactionsService"
    import {ConfDTO} from "./app/lib/dto/ConfDTO"
    import {FileDAL} from "./app/lib/dal/fileDAL"
    import {DuniterBlockchain} from "./app/lib/blockchain/DuniterBlockchain"
    import {SQLBlockchain} from "./app/lib/blockchain/SqlBlockchain"
    import * as stream from "stream"
    import {KeyGen, randomKey} from "./app/lib/common-libs/crypto/keyring"
    import {parsers} from "./app/lib/common-libs/parsers/index"
    import {Cloneable} from "./app/lib/dto/Cloneable"
    import {DuniterDocument, duniterDocument2str} from "./app/lib/common-libs/constants"
    import {GlobalFifoPromise} from "./app/service/GlobalFifoPromise"
    import {BlockchainContext} from "./app/lib/computation/BlockchainContext"
    import {BlockDTO} from "./app/lib/dto/BlockDTO"
    import {DBIdentity} from "./app/lib/dal/sqliteDAL/IdentityDAL"
    import {CertificationDTO} from "./app/lib/dto/CertificationDTO"
    import {MembershipDTO} from "./app/lib/dto/MembershipDTO"
    import {RevocationDTO} from "./app/lib/dto/RevocationDTO"
    import {TransactionDTO} from "./app/lib/dto/TransactionDTO"
    import {PeerDTO} from "./app/lib/dto/PeerDTO"
    import {OtherConstants} from "./app/lib/other_constants"
    import {WS2PCluster} from "./app/modules/ws2p/lib/WS2PCluster"
    import {DBBlock} from "./app/lib/db/DBBlock"
    
    export interface HookableServer {
      generatorGetJoinData: (...args:any[]) => Promise<any>
      generatorComputeNewCerts: (...args:any[]) => Promise<any>
      generatorNewCertsToLinks: (...args:any[]) => Promise<any>
      onPluggedFSHook: (...args:any[]) => Promise<any>
      resetDataHook: (...args:any[]) => Promise<any>
      resetConfigHook: (...args:any[]) => Promise<any>
    }
    
    const path        = require('path');
    const archiver    = require('archiver');
    const unzip       = require('unzip2');
    const fs          = require('fs');
    const es          = require('event-stream');
    const daemonize   = require("daemonize2")
    const constants   = require('./app/lib/constants');
    const jsonpckg    = require('./package.json');
    const directory   = require('./app/lib/system/directory');
    const logger      = require('./app/lib/logger').NewLogger('server');
    
    export class Server extends stream.Duplex implements HookableServer {
    
      private paramsP:Promise<any>|null
      private endpointsDefinitions:(()=>Promise<string>)[] = []
      private wrongEndpointsFilters:((endpoints:string[])=>Promise<string[]>)[] = []
      startService:()=>Promise<void>
      stopService:()=>Promise<void>
      ws2pCluster:WS2PCluster|undefined
      conf:ConfDTO
      dal:FileDAL
    
      home:string
      version:string
      logger:any
      rawer:any
      keyPair:any
      sign:any
      blockchain:any
    
      MerkleService:(req:any, merkle:any, valueCoroutine:any) => any
      IdentityService:IdentityService
      MembershipService:MembershipService
      PeeringService:PeeringService