// ĠVer i Block ĠBlock chain ĠProject Ċ // ĠCopyright Ġ 2 0 1 7 - 2 0 1 8 ĠVer i Block , ĠInc Ċ // ĠCopyright Ġ 2 0 1 8 - 2 0 2 0 ĠX en ios ĠSE ZC Ċ // ĠAll Ġrights Ġreserved . Ċ // Ġhttps :// www . ver ib lock . org Ċ // ĠDistributed Ġunder Ġthe ĠMIT Ġsoftware Ġlicense , Ġsee Ġthe Ġaccompanying Ċ // Ġfile ĠLICENSE Ġor Ġhttp :// www . opensource . org / licenses / mit - license . php . Ċ Ċ package Ġorg . ver ib lock . lite . net Ċ Ċ import Ġnode core . api . grpc . Admin Grpc Ċ import Ġnode core . api . grpc . Admin Rpc Configuration Ċ import Ġnode core . api . grpc . utilities . Channel Builder Ċ import Ġorg . ver ib lock . lite . net . impl . Gateway Strategy Grpc Impl Ċ import Ġorg . ver ib lock . lite . net . impl . Gateway Strategy Sp v Impl Ċ import Ġorg . ver ib lock . lite . params . Network Parameters Ċ import Ġver ib lock . Sp v Context Ċ Ċ fun Ġcreate Full Node ( network Parameters : ĠNetwork Parameters ): ĠGateway Strategy Ġ{ ĊĠĠĠ Ġval Ġrpc Configuration Ġ= Ġconfigure ( network Parameters ) ĊĠĠĠ Ġval Ġchannel Builder Ġ= ĠChannel Builder ( rpc Configuration ) ĊĠĠĠ Ġval Ġchannel Ġ= Ġchannel Builder . build Managed Channel () ĊĠĠĠ Ġval Ġblocking Stub Ġ= ĠAdmin Grpc . new Blocking Stub ( channel Builder . attach Password Interceptor ( channel )) ĊĠĠĠĠĠĠĠ Ġ. with Max Inbound Message Size ( 2 0 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 ) ĊĠĠĠĠĠĠĠ Ġ. with Max Outbound Message Size ( 2 0 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 ) ĊĊĠĠĠ Ġreturn ĠGateway Strategy Grpc Impl ( blocking Stub , Ġchannel , Ġnetwork Parameters ) Ċ } Ċ Ċ fun Ġcreate Sp v ( sp v Context : ĠSp v Context ): ĠGateway Strategy Ġ{ ĊĠĠĠ Ġreturn ĠGateway Strategy Sp v Impl ( sp v Context ) Ċ } Ċ Ċ private Ġfun Ġconfigure ( network Parameters : ĠNetwork Parameters ): ĠAdmin Rpc Configuration Ġ= ĠAdmin Rpc Configuration (). apply Ġ{ ĊĠĠĠ Ġis Ssl Ġ= Ġnetwork Parameters . is Ssl ĊĠĠĠ Ġcertificate Chain Path Ġ= Ġnetwork Parameters . certificate Chain Path ĊĠĠĠ Ġnode Core Host Ġ= Ġnetwork Parameters . admin Host ĊĠĠĠ Ġnode Core Port Ġ= Ġnetwork Parameters . admin Port ĊĠĠĠ Ġnode Core Password Ġ= Ġnetwork Parameters . admin Password Ċ } Ċ