匿名用户2021年11月30日
17阅读
所属分类、Web3、区块链
授权协议Readme

作品详情

ElectroneroNetworkEI-1.0ElectronerolegacyCryptonotecoins

ETNX/ETNXP/LTNX/GLDX/CRFI

EI-2.0ElectroneroSmartChain

xAssets&XRC-20tokensaremintedfortokenswaps&airdropsonElectroneroSmartChain.EI-2.0isDeployingmainneton09/09/2021.EI-1.0holderswillbeairdroppedxAssetsatvariousratesthroughcross-chainatomicswaps.Moreintelreleasedonthewebsiteandthroughsocialmedia.ElectroneroNetworkCorecontributorsaremainlyactiveonTelegramjointhecommunityxAssets(airdrops&swaps):xETNX/xETNXP/xLTNX/xGLDX/xCRFI/xXMR/xETN

SourcecodeforkedfromMonero,BlockchainforkedfromElectroneum.Manysecurityupdatesanduniquefeatureshavebeenaddedovertheyears.

Copyright(c)2014-2018TheMoneroProject.PortionsCopyright(c)2012-2013TheCryptonotedevelopers.PortionsCopyright(c)2017-2018TheElectroneumdevelopers.PortionsCopyright(c)~2018TheMasaridevelopers.PortionsCopyright(c)~2018TheSumokoindevelopers.PortionsCopyright(c)~2018TheStellitedevelopers.PortionsCopyright(c)2014-2018TheElectroneroProject.PortionsCopyright(c)2014-2018TheElectroneroPulseProject.PortionsCopyright(c)2014-2018TheLiteneroProject.PortionsCopyright(c)2014-2018TheGoldneroProject.

TableofContentsDevelopmentresourcesVulnerabilityresponseResearchAnnouncementsIntroductionAboutthisprojectSupportingtheprojectLicenseContributingCompilingElectronerofromsourceDependenciesDevelopmentresources

electroneroETNX-Web:electronero.orgelectroneropulseETNXP-Web:electroneropulse.orgliteneroLTNX-Web:litenero.orggoldneroGLDX-Web:goldnero.orgcrystaleumCRFI-Web:crystaleum.orgelectronerounnoffical-Chat:t.me/electroneroelectroneronetwork-Chat:t.me/electronero_networkelectroneropulse-Chat:t.me/etnxplitenero-Chat:t.me/litenerogoldnero-Chat:t.me/goldnerocrystaleum-Chat:t.me/crystaleumelectronerocore-Mail:support@electronero.orgelectroneronetwork-GitHub:github.com/electronero/electronero

VulnerabilityresponseMonerosourceVulnerabilityResponseProcessencouragesresponsibledisclosureMoneroisalsoavailableviaHackerOneAnnouncements

YoucansubscribetoelectroneroannouncementstogetcriticalannouncementsfromElectronerocore.Theannouncementlistcanbeveryhelpfulforknowingwhensoftwareupdatesareneeded,etc.

Introduction

Electroneroisaprivate,secure,untraceable,decentraliseddigitalcurrency.Youareyourbank,youcontrolyourfunds,andnobodycantraceyourtransfersunlessyouallowthemtodoso.

Privacy:Electronerousesacryptographicallysoundsystemtoallowyoutosendandreceivefundswithoutyourtransactionsbeingeasilyrevealedontheblockchain(theledgeroftransactionsthateveryonehas).Thisensuresthatyourpurchases,receipts,andalltransfersremainabsolutelyprivatebydefault.

Security:Usingthepowerofadistributedpeer-to-peerconsensusnetwork,everytransactiononthenetworkiscryptographicallysecured.Individualwalletshavea25wordmnemonicseedthatisonlydisplayedonce,andcanbewrittendowntobackupthewallet.Walletfilesareencryptedwithapassphrasetoensuretheyareuselessifstolen.

Untraceability:Bytakingadvantageofringsignatures,aspecialpropertyofacertaintypeofcryptography,Electroneroisabletoensurethattransactionsarenotonlyuntraceable,buthaveanoptionalmeasureofambiguitythatensuresthattransactionscannoteasilybetiedbacktoanindividualuserorcomputer.

Supportingtheproject

Electroneroisa100%communitydrivenendeavor.Tojoincommunityefforts,theeasiestthingyoucandoissupporttheprojectfinancially.ElectronerodonationscanbemadetotheElectronerodonationaddressviathedonatecommand(typehelpinthecommand-linewalletfordetails).Else,hereareourdevteamsaddresses.Thefundinggoestomanydevelopers,andvolunteerswhocontribute,theyaregratefulforourdonations!

TheMonerodonationaddressis:85PTaJNpkEEeJao2MNk1sRWTQXLUf1FGjZew8oR8R4cRUrXxFrTexa9GwrjmJD4Pyx6UrjgMQnuMoFNmaBKqxs7PPXVe9oX

TheBitcoindonationaddressis:38jiBKevQHp8zhQpZ42bTvK4QpzzqWkA3K

TheEthereumdonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheTetherUSDdonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheZCashdonationaddressis:t1Kmnv9eDqw7VyDWmzSUbjBPrxoY7hMuUCc

TheLiquiddonationaddressis:VJL9H2mk4tKBRgSkTNkSrFGQABiNxUs1UPbm4rHCsE8vF87kSJgSo8AQfGDt54nC59tEtb2W47GsMrw2

TheElectronerodonationaddressis:etnkHfFuanNeTe3q9dux4d9cRiLkUR4hDffvhfTp6nbhEJ5R8TY4vdyZjT4BtWxnvSJ5nfD64eCAQfKMJHSym2dj8PQqeiKmBM

TheElectroneumdonationaddressis:etnkHfFuanNeTe3q9dux4d9cRiLkUR4hDffvhfTp6nbhEJ5R8TY4vdyZjT4BtWxnvSJ5nfD64eCAQfKMJHSym2dj8PQqeiKmBM

TheDogecoindonationaddressis:DTTez7ggKPzDcKuUUTns8VzMrKesZUKMCk

TheLitecoindonationaddressis:MAtV7sbBnmuf2bxVUPgCprpmJ5xX6euBwe

TheSumokoindonationaddressis:Sumoo47CGenbHfZtpCVV4PRMSsXP38idFdt5JSj7VuJrD1nABoPHTBHgR6owQJfn1JU8BiWWohw4oiefGEjAn4GmbFYYtCcfPeT

TheAavedonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheAttentionTokendonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheCardanoADAdonationaddressis:DdzFFzCqrhspgQJTD1r81KsmXjzySdu4Zb4pJf7iLxkcVKvoRLoVHss9f2147QTRCRkQAFjWwHdr77Snn3efEo9ne4YzM5UCwwnMGR15

TheCompounddonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheDashdonationaddressis:XcFVDo2k3XRJwQKQQRgMBfhCEDFANawQ3B

TheMakerdonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

ThePaxosStandarddonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheRENdonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheTrueUSDdonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

TheUSDCoindonationaddressis:0x59d26980a1cdd75e1c3af516b912a6233aa2f5e4

Aboutthisproject

ThisisamodifiedcoreimplementationofMonero/Electroneum.Itisopensourceandcompletelyfreetousewithoutrestrictions,exceptforthosespecifiedinthelicenseagreementbelow.TherearenorestrictionsonanyonecreatinganalternativeimplementationofMonerothatusestheprotocolandnetworkinacompatiblemanner.

Aswithmanydevelopmentprojects,therepositoryonGithubisconsideredtobethe"staging"areaforthelatestchanges.Beforechangesaremergedintothatbranchonthemainrepository,theyaretestedbyindividualdevelopersintheirownbranches,submittedasapullrequest,andthensubsequentlytestedbycontributorswhofocusontestingandcodereviews.Thathavingbeensaid,therepositoryshouldbecarefullyconsideredbeforeusingitinaproductionenvironment,unlessthereisapatchintherepositoryforaparticularshow-stoppingissueyouareexperiencing.Itisgenerallyabetterideatouseataggedreleaseforstability.

AnyoneiswelcometocontributetoElectronero'scodebase!Ifyouhaveafixorcodechange,feelfreetosubmititasapullrequestdirectlytothe"master"branch.Incaseswherethechangeisrelativelysmallordoesnotaffectotherpartsofthecodebaseitmaybemergedinimmediatelybyanyoneofthecollaborators.Ontheotherhand,ifthechangeisparticularlylargeorcomplex,itisexpectedthatitwillbediscussedatlengtheitherwellinadvanceofthepullrequestbeingsubmitted,orevendirectlyonthepullrequest.

License

SeeLICENSE.

Contributing

Ifyouwanttohelpout,joinElectroneroNetworkCoreContributors.ContactusonTelegram.SeeCONTRIBUTINGforasetofguidelines.

Scheduledsoftwareupgrades

Electroneroutilizesasoftwareupgrade(hardfork)mechanismtoimplementnewfeatures.ThismeansthatusersofElectronero(endusersandserviceproviders)shouldruncurrentversionsandupgradetheirsoftwareonaregularbasis.Therequiredsoftwarefortheseupgradeswillbeavailablepriortothescheduleddate.PleasechecktherepositorypriortothisdatefortheproperElectronerosoftwareversion.

Releasestagingscheduleandprotocol

Approximatelythreemonthspriortoascheduledsoftwareupgrade,abranchfromMasterwillbecreatedwiththenewreleaseversiontag.PullrequeststhataddressbugsshouldthenbemadetobothMasterandthenewreleasebranch.Pullrequeststhatrequireextensivereviewandtesting(generally,optimizationsandnewfeatures)shouldnotbemadetothereleasebranch.

CompilingElectronerofromsourceDependencies

Thefollowingtablesummarizesthetoolsandlibrariesrequiredtobuild.Afewofthelibrariesarealsoincludedinthisrepository(markedas"Vendored").Bydefault,thebuildusesthelibraryinstalledonthesystem,andignoresthevendoredsources.However,ifnolibraryisfoundinstalledonthesystem,thenthevendoredsourcewillbebuiltandused.Thevendoredsourcesarealsousedforstatically-linkedbuildsbecausedistributionpackagesoftenincludeonlysharedlibrarybinaries(.so)butnotstaticlibraryarchives(.a).

DepMin.versionVendoredDebian/UbuntupkgArchpkgFedoraOptionalPurposeGCC4.7.3NObuild-essentialbase-develgccNOCMake3.0.0NOcmakecmakecmakeNOpkg-configanyNOpkg-configbase-develpkgconfNOBoost1.58NOlibboost-all-devboostboost-develNOC++librariesOpenSSLbasicallyanyNOlibssl-devopensslopenssl-develNOsha256sumlibzmq3.0.0NOlibzmq3-devzeromqcppzmq-develNOZeroMQlibrarylibunbound1.4.16YESlibunbound-devunboundunbound-develNODNSresolverlibsodium?NOlibsodium-dev?libsodium-develNOlibsodiumlibminiupnpc2.0YESlibminiupnpc-devminiupnpcminiupnpc-develYESNATpunchinglibunwindanyNOlibunwind8-devlibunwindlibunwind-develYESStacktracesliblzmaanyNOliblzma-devxzxz-develYESForlibunwindlibreadline6.3.0NOlibreadline6-devreadlinereadline-develYESInputeditingldns1.6.17NOlibldns-devldnsldns-develYESSSLtoolkitexpat1.1NOlibexpat1-devexpatexpat-develYESXMLparsingGTest1.5YESlibgtest-dev^gtestgtest-develYESTestsuiteDoxygenanyNOdoxygendoxygendoxygenYESDocumentationGraphvizanyNOgraphvizgraphvizgraphvizYESDocumentation

[1]OnDebian/Ubuntulibgtest-devonlyincludessourcesandheaders.Youmustbuildthelibrarybinarymanually.Thiscanbedonewiththefollowingcommandsudoapt-getinstalllibgtest-dev&&cd/usr/src/gtest&&sudocmake.&&sudomakeThen:

onDebian:sudomvlibg*/usr/lib/onUbuntu:sudomvlib/libg*/usr/lib/

[2]libnorm-devisneededifyourzmqlibrarywasbuiltwithlibnorm,andnotneededotherwise

InstallalldependenciesatonceonDebian/Ubuntu:

sudoaptupdate&&sudoaptinstallbuild-essentialcmakepkg-configlibssl-devlibzmq3-devlibunbound-devlibsodium-devlibunwind8-devliblzma-devlibreadline6-devlibldns-devlibexpat1-devlibpgm-devqttools5-dev-toolslibhidapi-devlibusb-1.0-0-devlibprotobuf-devprotobuf-compilerlibudev-devlibboost-chrono-devlibboost-date-time-devlibboost-filesystem-devlibboost-locale-devlibboost-program-options-devlibboost-regex-devlibboost-serialization-devlibboost-system-devlibboost-thread-devccachedoxygengraphviz

InstallalldependenciesatonceonopenSUSE:

sudozypperref&&sudozypperincppzmq-develldns-devellibboost_chrono-devellibboost_date_time-devellibboost_filesystem-devellibboost_locale-devellibboost_program_options-devellibboost_regex-devellibboost_serialization-devellibboost_system-devellibboost_thread-devellibexpat-devellibminiupnpc-devellibsodium-devellibunwind-develunbound-develcmakedoxygenccachefdupesgcc-c++libevent-devellibopenssl-develpkgconf-pkg-configreadline-develxz-devellibqt5-qttools-develpatterns-devel-C-C++-devel_C_C++

InstallalldependenciesatonceonmacOSwiththeprovidedBrewfile:brewupdate&&brewbundle--file=contrib/brew/Brewfile

FreeBSD12.1one-linerrequiredtobuilddependencies:pkginstallgitgmakecmakepkgconfboost-libslibzmq4libsodium

Cloningtherepository

Clonerecursivelytopull-inneededsubmodule(s):

$gitclone--recursivehttps://github.com/electronero/electronero

Ifyoualreadyhavearepocloned,initializeandupdate:

$cdelectronero&&gitsubmoduleinit&&gitsubmoduleupdate&&cdcoins/electronero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../electroneropulse&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../litenero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../goldnero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../crystaleum&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2

Note:Iftherearesubmoduledifferencesbetweenbranches,youmayneedtousegitsubmodulesync&&gitsubmoduleupdateafterchangingbranchestobuildsuccessfully.

Buildinstructions

ElectronerousestheCMakebuildsystemandatop-levelMakefilethatinvokescmakecommandsasneeded.

OnLinuxandOSX

Installthedependencies

Changetotherootofthesourcecodedirectoryandbuild:

`$cdelectronero&&gitsubmoduleinit&&gitsubmoduleupdate&&cdcoins/electronero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../electroneropulse&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../litenero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../goldnero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../crystaleum&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2`

Optional:Ifyourmachinehasseveralcoresandenoughmemory,enableparallelbuildbyrunningmake-j<numberofthreads>insteadofmake.Forthistobeworthwhile,themachineshouldhaveonecoreandabout2GBofRAMavailableperthread.

Note:Ifcmakecannotfindzmq.hppfileonOSX,installingzmq.hppfromhttps://github.com/zeromq/cppzmqto/usr/local/includeshouldfixthaterror.

TheresultingElectroneroNetworkexecutablescanbefoundinbuild/release/binforeachElectroneroNetworkcoinincoins/dir

AddPATH="$PATH:$HOME/electronero/build/release/bin"to.profile

AddPATH="$PATH:$HOME/electroneropulse/build/release/bin"to.profile

AddPATH="$PATH:$HOME/litenero/build/release/bin"to.profile

AddPATH="$PATH:$HOME/goldnero/build/release/bin"to.profile

AddPATH="$PATH:$HOME/crystaleum/build/release/bin"to.profile

RunElectroneroelectronerod

RunElectroneroPulsepulsed

RunLitenerolitenerod

RunGoldnerogoldnerod

RunCrystaleumcrystaleumd

Optional:buildandrunthetestsuitetoverifythebinaries:

makerelease-test

NOTE:core_teststestmaytakeafewhourstocomplete.

Optional:tobuildbinariessuitablefordebugging:

makedebug

Optional:tobuildstatically-linkedbinaries:

makerelease-static

Dependenciesneedtobebuiltwith-fPIC.Staticlibrariesusuallyaren't,soyoumayhavetobuildthemyourselfwith-fPIC.Refertotheirdocumentationforhowtobuildthem.

Optional:builddocumentationindoc/html(omitHAVE_DOT=YESifgraphvizisnotinstalled):

HAVE_DOT=YESdoxygenDoxyfileOntheRaspberryPi

TestedonaRaspberryPiZerowithacleaninstallofminimalRaspbianStretch(2017-09-07orlater)fromhttps://www.raspberrypi.org/downloads/raspbian/.IfyouareusingRaspianJessie,pleaseseenoteinthefollowingsection.

apt-getupdate&&apt-getupgradetoinstallallofthelatestsoftware

InstallthedependenciesforElectronerofromthe'Debian'columninthetableabove.

Increasethesystemswapsize:

sudo/etc/init.d/dphys-swapfilestopsudonano/etc/dphys-swapfileCONF_SWAPSIZE=1024sudo/etc/init.d/dphys-swapfilestartCloneelectroneroandcheckoutmostrecentreleaseversion:gitclonehttps://github.com/electronero/electronero.git

Build:$cdelectronero&&gitsubmoduleinit&&gitsubmoduleupdate&&cdcoins/electronero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../electroneropulse&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../litenero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2&&cd../goldnero&&gitsubmoduleinit&&gitsubmoduleupdate&&make-j2

AddPATH="$PATH:$HOME/electronero/build/release/bin"to.profile

Youmaywishtoreducethesizeoftheswapfileafterthebuildhasfinished,anddeletetheboostdirectoryfromyourhomedirectory

NoteforRaspbianJessieusers:

IfyouareusingtheolderRaspbianJessieimage,compilingElectroneroisabitmorecomplicated.TheversionofBoostavailableintheDebianJessierepositoriesistoooldtousewithElectronero,andthusyoumustcompileanewerversionyourself.Thefollowingexplainstheextrasteps,andhasbeentestedonaRaspberryPi2withacleaninstallofminimalRaspbianJessie.

Asbefore,apt-getupdate&&apt-getupgradetoinstallallofthelatestsoftware,andincreasethesystemswapsizesudo/etc/init.d/dphys-swapfilestopsudonano/etc/dphys-swapfileCONF_SWAPSIZE=1024sudo/etc/init.d/dphys-swapfilestart

Then,installthedependenciesforElectroneroexceptlibunwindandlibboost-all-dev

Installthelatestversionofboost(thismayfirstrequireinvokingapt-getremove--purgelibboost*toremoveapreviousversionifyou'renotusingacleaninstall):

cdwgethttps://sourceforge.net/projects/boost/files/boost/1.64.0/boost_1_64_0.tar.bz2tarxvfoboost_1_64_0.tar.bz2cdboost_1_64_0./bootstrap.shsudo./b2sudo./bjaminstallFromhere,followthegeneralRaspberryPiinstructionsfromthe"CloneElectroneroandcheckoutmostrecentreleaseversion"step.OnWindows:

BinariesforWindowsarebuiltonWindowsusingtheMinGWtoolchainwithinMSYS2environment.TheMSYS2environmentemulatesaPOSIXsystem.Thetoolchainrunswithintheenvironmentandcross-compilesbinariesthatcanrunoutsideoftheenvironmentasaregularWindowsapplication.

Preparingthebuildenvironment

DownloadandinstalltheMSYS2installer,eitherthe64-bitorthe32-bitpackage,dependingonyoursystem.

OpentheMSYSshellviatheMSYS2Shellshortcut

Updatepackagesusingpacman:

pacman-Syuu

ExittheMSYSshellusingAlt+F4

EditthepropertiesfortheMSYS2Shellshortcutchanging"msys2_shell.bat"to"msys2_shell.cmd-mingw64"for64-bitbuildsor"msys2_shell.cmd-mingw32"for32-bitbuilds

RestartMSYSshellviamodifiedshortcutandupdatepackagesagainusingpacman:

pacman-Syuu

Installdependencies:

Tobuildfor64-bitWindows:

pacman-Smingw-w64-x86_64-toolchainmakemingw-w64-x86_64-cmakemingw-w64-x86_64-boostmingw-w64-x86_64-opensslmingw-w64-x86_64-zeromqmingw-w64-x86_64-libsodium

Tobuildfor32-bitWindows:

pacman-Smingw-w64-i686-toolchainmakemingw-w64-i686-cmakemingw-w64-i686-boostmingw-w64-i686-opensslmingw-w64-i686-zeromqmingw-w64-i686-libsodium

OpentheMingWshellviaMinGW-w64-Win64Shellshortcuton64-bitWindowsorMinGW-w64-Win64Shellshortcuton32-bitWindows.Notethatifyouarerunning64-bitWindows,youwillhaveboth64-bitand32-bitMinGWshells.

Building

Ifyouareona64-bitsystem,run:

makerelease-static-win64

Ifyouareona32-bitsystem,run:

makerelease-static-win32

Theresultingexecutablescanbefoundinbuild/release/bin

OnOpenBSD:OpenBSD<6.2

ThishasbeentestedonOpenBSD5.8.

Youwillneedtoaddafewpackagestoyoursystem.pkg_adddbcmakegccgcc-libsg++miniupnpcgtest.

Thedoxygenandgraphvizpackagesareoptionalandrequirethexbaseset.

TheBoostpackagehasabugthatwillpreventlibrpc.afrombuildingcorrectly.Inordertofixthis,youwillhavetoBuildboostyourselffromscratch.Followthedirectionshere(under"BuildingBoost"):https://github.com/bitcoin/bitcoin/blob/master/doc/build-openbsd.md

Youwillhavetoaddtheserialization,date_time,andregexmodulestoBoostwhenbuildingastheyareneededbyElectronero.

Tobuild:envCC=egccCXX=eg++CPP=ecppDEVELOPER_LOCAL_TOOLS=1BOOST_ROOT=/path/to/the/boost/you/builtmakerelease-static-64

OpenBSD>=6.2

Youwillneedtoaddafewpackagestoyoursystem.pkg_addcmakeminiupnpczeromqlibiconv.

Thedoxygenandgraphvizpackagesareoptionalandrequirethexbaseset.

BuildtheBoostlibraryusingclang.Thisguideisderivedfrom:https://github.com/bitcoin/bitcoin/blob/master/doc/build-openbsd.md

Weassumeyouarecompilingwithanon-rootuserandyouhavedoasenabled.

Note:donotusetheboostpackageprovidedbyOpenBSD,asweareinstallingboostto/usr/local.

#Createboostbuildingdirectorymkdir~/boostcd~/boost#Fetchboostsourceftp-oboost_1_64_0.tar.bz2https://netcologne.dl.sourceforge.net/project/boost/boost/1.64.0/boost_1_64_0.tar.bz2#MUSToutput:(SHA256)boost_1_64_0.tar.bz2:OKecho"7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332boost_1_64_0.tar.bz2"|sha256-ctarxfjboost_1_64_0.tar.bz2#Fetchandapplyboostpatches,requiredforOpenBSDftp-oboost_test_impl_execution_monitor_ipp.patchhttps://raw.githubusercontent.com/openbsd/ports/bee9e6df517077a7269ff0dfd57995f5c6a10379/devel/boost/patches/patch-boost_test_impl_execution_monitor_ippftp-oboost_config_platform_bsd_hpp.patchhttps://raw.githubusercontent.com/openbsd/ports/90658284fb786f5a60dd9d6e8d14500c167bdaa0/devel/boost/patches/patch-boost_config_platform_bsd_hpp#MUSToutput:(SHA256)boost_config_platform_bsd_hpp.patch:OKecho"1f5e59d1154f16ee1e0cc169395f30d5e7d22a5bd9f86358f738b0ccaea5e51dboost_config_platform_bsd_hpp.patch"|sha256-c#MUSToutput:(SHA256)boost_test_impl_execution_monitor_ipp.patch:OKecho"30cec182a1437d40c3e0bd9a866ab5ddc1400a56185b7e671bb3782634ed0206boost_test_impl_execution_monitor_ipp.patch"|sha256-ccdboost_1_64_0patch-p0<../boost_test_impl_execution_monitor_ipp.patchpatch-p0<../boost_config_platform_bsd_hpp.patch#Startbuildingboostecho'usingclang::c++:<cxxflags>"-fvisibility=hidden-fPIC"<linkflags>""<archiver>"ar"<striper>"strip"<ranlib>"ranlib"<rc>"":;'>user-config.jam./bootstrap.sh--without-icu--with-libraries=chrono,filesystem,program_options,system,thread,test,date_time,regex,serialization,locale--with-toolset=clang./b2toolset=clangcxxflags="-stdlib=libc++"linkflags="-stdlib=libc++"-sICONV_PATH=/usr/localdoas./b2-d0runtime-link=sharedthreadapi=pthreadthreading=multilink=staticvariant=release--layout=tagged--build-type=complete--user-config=user-config.jam-sNO_BZIP2=1-sICONV_PATH=/usr/local--prefix=/usr/localinstall

Buildcppzmq

Buildthecppzmqbindings.

Weassumeyouarecompilingwithanon-rootuserandyouhavedoasenabled.

#Createcppzmqbuildingdirectorymkdir~/cppzmqcd~/cppzmq#Fetchcppzmqsourceftp-ocppzmq-4.2.3.tar.gzhttps://github.com/zeromq/cppzmq/archive/v4.2.3.tar.gz#MUSToutput:(SHA256)cppzmq-4.2.3.tar.gz:OKecho"3e6b57bf49115f4ae893b1ff7848ead7267013087dc7be1ab27636a97144d373cppzmq-4.2.3.tar.gz"|sha256-ctarxfzcppzmq-4.2.3.tar.gz#Startbuildingcppzmqcdcppzmq-4.2.3mkdirbuildcdbuildcmake..doasmakeinstall

Buildelectronero:envDEVELOPER_LOCAL_TOOLS=1BOOST_ROOT=/usr/localmakerelease-static

OnSolaris:

ThedefaultSolarislinkercan'tbeused,youhavetoinstallGNUld,thenruncmakemanuallywiththepathtoyourcopyofGNUld:

mkdir-pbuild/releasecdbuild/releasecmake-DCMAKE_LINKER=/path/to/ld-DCMAKE_BUILD_TYPE=Release../..cd../..

Thenyoucanrunmakeasusual.

OnLinuxforAndroid(usingdocker):#Buildimage(selectandroid64.Dockerfileforaarch64)cdutils/build_scripts/&&dockerbuild-fandroid32.Dockerfile-telectronero-android.#Createcontainerdockercreate-it--nameelectronero-androidelectronero-androidbash#Getbinariesdockercpelectronero-android:/opt/android/electronero/build/release/bin.Buildingportablestaticallylinkedbinaries

Bydefault,ineitherdynamicallyorstaticallylinkedbuilds,binariestargetthespecifichostprocessoronwhichthebuildhappensandarenotportabletootherprocessors.Portablebinariescanbebuiltusingthefollowingtargets:

makerelease-static-linux-x86_64buildsbinariesonLinuxonx86_64portableacrossPOSIXsystemsonx86_64processorsmakerelease-static-linux-i686buildsbinariesonLinuxonx86_64ori686portableacrossPOSIXsystemsoni686processorsmakerelease-static-linux-armv8buildsbinariesonLinuxportableacrossPOSIXsystemsonarmv8processorsmakerelease-static-linux-armv7buildsbinariesonLinuxportableacrossPOSIXsystemsonarmv7processorsmakerelease-static-linux-armv6buildsbinariesonLinuxportableacrossPOSIXsystemsonarmv6processorsmakerelease-static-win64buildsbinarieson64-bitWindowsportableacross64-bitWindowssystemsmakerelease-static-win32buildsbinarieson64-bitor32-bitWindowsportableacross32-bitWindowssystemsRunningelectronerod

Thebuildplacesthebinaryinbin/sub-directorywithinthebuilddirectoryfromwhichcmakewasinvoked(repositoryrootbydefault).Toruninforeground:

./bin/electronero

Tolistallavailableoptions,run./bin/electronerod--help.Optionscanbespecifiedeitheronthecommandlineorinaconfigurationfilepassedbythe--config-fileargument.Tospecifyanoptionintheconfigurationfile,addalinewiththesyntaxargumentname=value,whereargumentnameisthenameoftheargumentwithouttheleadingdashes,forexamplelog-level=1.

Toruninbackground:

./bin/electronerod--log-fileelectronerod.log

Torunasasystemdservice,copyelectronerod.serviceto/etc/systemd/system/andelectronerod.confto/etc/.Theexampleserviceassumesthattheuserelectroneroexistsanditshomeisthedatadirectoryspecifiedintheexampleconfig.

Ifyou'reonMac,youmayneedtoaddthe--max-concurrency1optiontoelectronero-wallet-cli,andpossiblyelectronerod,ifyougetcrashesrefreshing.

查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论