IPFS sine dolore (sed hoc non est accurate)

IPFS sine dolore (sed hoc non est accurate)

Non obstante quod iam in Habre erat plus quam unum articulum de IPFS.

Patefaciam statim quod non sum peritus in hoc campo, sed plus quam semel in hac technologia rem expressi, sed saepe cum eo ludere conatus sum aliquem dolorem. Hodie iterum experiri coepi et aliquot eventus accepi ut communicare vellem. In summa, IPFS processus institutionis et quaedam praestigiae describentur (omnia in decuria fiebant, in aliis suggestis non probavi).

Si quid IPFS desiderabas, hic aliqualiter scriptum est; habr.com/en/post/314768

occasum

Pro puritate experimenti, admonemus ut de aliquo exteriori ministro statim inserendo, cum aliquas casus considerabimus operando in modo locali et remoto. Tum, si vis, non longum est eam demoliri, ibi non multum est.

install go

Documenta officialis
Pro emendatione vide golang.org/dl

Nota: melius est IPFS instituere pro utentis, qui eo frequentius uti expectat. Ita res est, ut infra considerabimus optionem escendendi via COQUO et sunt ibi subtilitates.

cd ~
curl -O https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz
tar xvf go1.12.9.linux-amd64.tar.gz
sudo chown -R root:root ./go
sudo mv go /usr/local
rm go1.12.9.linux-amd64.tar.gz

Tunc debes renovare ambitum (singularia hic: golang.org/doc/code.html#GOPATH).

echo 'export GOPATH=$HOME/work' >> ~/.bashrc
echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc

Reprehendo qui est installed

go version

installing IPFS

Maxime probaverunt institutionem modum: ipfs-renovatio.

We install is with the command

go get -v -u github.com/ipfs/ipfs-update

Post haec mandata currere potes;

ipfs-renovatio versions - ut omnes versiones available pro download.
ipfs-renovatio versionis - videre versionem inauguratam (donec IPFS instituimus, nulla erit).
ipfs-renovatio install tardus — postremam versionem ipfS instituere. Loco novissimi temporis rationem quamlibet versionem desideratam e indice promptuariorum respective denotare potes.

ipfs installing

ipfs-update install latest

represserat

ipfs --version

Omnia protinus cum institutione generaliter nominantur.

incipiens IPFS

initialization

Primum initialization praestare debes.

ipfs init

In responsione sic accipietis aliquid:

 ipfs init
initializing IPFS node at /home/USERNAME/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmeCWX1DD7HnXXXXXXXXXXXXXXXXXXXXXXXXxxx
to get started, enter:
	ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Potes currere ad imperium suggesserant

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

exitum

Hello and Welcome to IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!

 -------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
 -------------------------------------------------------

Check out some of the other files in this directory:

  ./about
  ./help
  ./quick-start     <-- usage examples
  ./readme          <-- this file
  ./security-notes

Haec ubi, ut opinor, res iucunda sunt. Etiam in scaena institutionis latinae iam incipiant suis technologiis uti. Propositum Nullam QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv non generatur specialiter pro te, sed in emissione infixa. Hoc est, antequam emissionem receperint, textum gratissimum paraverunt in IPFS illud infudit et inscriptionem ad instrumentum adiecit. Puto hoc frigidissimum. Et hic fasciculus (pressius, totius folder) nunc non solum localiter, sed etiam in porta officiali spectari potest ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. Hoc in casu, certo scire potes quod contenta folder nullo modo mutata non sunt, quia si mutassent, Nullam etiam mutatam esse.

Obiter, in hoc casu, IPFS similitudinem aliquam habet cum servo potestate versionis. Si mutationes fontis scriniorum folder et iterum imposuisti ut IPFS folder, novam inscriptionem accipiet. Eodem tempore, vetus folder non ibit huc modo sicut illa et in praecedenti inscriptione praesto erit.

Direct Lorem

ipfs daemon

Responsum debetis accipere sic:

ipfs daemon
Initializing daemon...
go-ipfs version: 0.4.22-
Repo version: 7
System version: amd64/linux
Golang version: go1.12.7
Swarm listening on /ip4/x.x.x.x/tcp/4001
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

Aperire fores ad Internet

Adtendite has duas lineas.

WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080

Nunc, si IPFS localiter institueris, IPFS accessuras interfacies utens inscriptionibus localibus et omnia tibi praesto erunt (Exempli gratia, localhost:5001/webui/). Sed cum externo servo instituitur, portae defalta interreti clauduntur. Duae portae sunt:

  1. webui admin (GitHub) in portu 5001 .
  2. Externus API in portu 8080 (recens).

Nunc enim uterque portus (5001 et 8080) experimentis aperiri potest, sed in servo productionis, utique portus 5001, muro fire clausus esset. Est etiam portus 4001, opus est ut alii pares te invenire possint. Pateat petentibus extrinsecus.

Aperi ~/.ipfs/config emendandi et has lineas in eo invenies:

"Addresses": {
  "Swarm": [
    "/ip4/0.0.0.0/tcp/4001",
    "/ip6/::/tcp/4001"
  ],
  "Announce": [],
  "NoAnnounce": [],
  "API": "/ip4/127.0.0.1/tcp/5001",
  "Gateway": "/ip4/127.0.0.1/tcp/8080"
}

127.0.0.1 ad ip servientis tui mutamus et tabellam servamus, post quam ipfs sileo (sistendum mandatum currens cum Ctrl+C et iterum curritur).

Oportet accipere

...
WebUI: http://ip_вашего_сервера:5001/webui
Gateway (readonly) server listening on /ip4/ip_вашего_сервера/tcp/8080

Interfaces autem externae praesto esse debent.

reprehendo sicco

http://домен_или_ip_сервера:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

File supra readme aperiat.

http://домен_или_ip_сервера:5001/webui/

Tela interface aperiat.

Si cursus webui habes, occasus IPFS directe in eo mutari possunt, statistica inclusa inspicienti, infra autem optiones configurationes directe per fasciculum config, quod plerumque non est criticum, considerabo. Iustus melius est meminisse ubinam fictio sit et quid cum eo agat, alioquin si interfacies textus non operatur, difficilior erit.

Telam interface ad operandum cum servo constituens

Hic est primus casus, in quo tres horae consumptae sunt.

Si in externo servo IPFS instituisti, sed IPFS localiter non instituisti aut currere, tunc cum ad /webui in interfaciei interreticulo adire debes errorem nexum videre;

IPFS sine dolore (sed hoc non est accurate)

Ita sane webui, opinor, longe aliter. Primum conatur coniungere cum API servientis ubi interfacies aperta est (subnixa inscriptione in navigatro, utique). et si ibi non laborat, ianuam localem coniungere conatur. Et si localiter currens habebis IPFS, tunc webui bene tibi operabitur, solum cum IPFS locali operaberis, et non externus, tametsi in externo servo aperuisti. Tum fasciculos fasciculos imposuisti, sed aliqua de causa eos in externo servo non vides...

Et si non localiter immittitur, tunc nexum obtinemus errorem. In casu nostro, error maxime probabile est propter CORS, quod etiam a webui indicatur, quod config addere suggerit.

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://ip_вашего сервера:5001", "http://127.0.0.1:5001", "https://webui.ipfs.io"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'

Ego iustus descripserunt in wildcard ad me

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

Additamentum capitis reperitur in eodem ~/.ipfs/config. In mea causa est

  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Origin": [
        "*"
      ]
    }
  },

Nos ipfs sileo et videmus telam feliciter connexam (saltem si fores petendi ab extra, ut supra dictum est, aperueris).

Nunc folders et fasciculos potes directe per interfaciem interretialem, sicut etiam tuum folders crea.

Adscendens FUSE ratio lima

Hoc pluma valde interesting.

Lima addere possumus (sicut folders) non solum per interfaciem interreti, sed etiam directe in termino, e.g

ipfs add test -r
added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt
added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test

Nullam radicis folder est ultimum.

Hoc Nullam utentes, folder in quavis nodi ipfs possumus aperire (quod nodi possumus invenire et contenta recipere), id facere possumus in instrumento interreti in portu 5001 vel 8080, vel per ipfs localiter facere possumus.

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

Sed etiam aperire potes sicut regularis folder.

Duos folders in radice faciamus et usori nostro eis iura concedas.

sudo mkdir /ipfs /ipns
sudo chown USERNAME /ipfs /ipns

et sileo ipfs cum --mount flag

ipfs daemon --mount

Folders in aliis locis creare potes et viam eis specificare utendo ipfs daemonis parametris mons-ipfs /ipfs_path -mont-ipns /ipns_path

Iam ex hoc folder lectio aliquantulum insolitum est.

ls -la /ipfs
ls: reading directory '/ipfs': Operation not permitted
total 0

Hoc est, non est aditus directus ad radicem huius folder. Sed licebit contenta si Nullam scis.

ls -la /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx
total 0
-r--r--r-- 1 root root 10 Aug 31 07:03 test.txt

cat /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx/test.txt 
test
test

Praeterea, intra folder, etiam autocompletio operatur cum iter specificando.

Ut supra dixi, subtilitates sunt cum hoc genere inscensionis: ex defectu, qui ascenderunt FUSE folder perviae sunt solum ad usorem currentem (etiam radix ex tali folder legere non poterit, ut alios utentes in systemate omittam) . Si vis hos folders aliis usoribus praesto facere, in config debes mutare "FuseAllowOther": falsum est "FuseAllowOther": verum. Sed id nulla enim. Si radix IPFS curris, omnia OK est. Et si pro usuario iusto (etiam sudo), errorem habebis

mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf

In hoc casu, debes emendare /etc/fuse.conf incommentando lineam #user_allow_alium.

Post hoc sileo ipfs.

Notae quaestiones cum FUSE

Problema plus semel notatum est quod postquam ipfs escendentibus (et fortasse in aliis casibus), /ipfs et /ipns mons puncta inaccessibilia fiunt. Ad eos aditus non est, sed ls -la /ipfs ostendit ???? in catalogo iurium.

Hoc inveni solutionem:

fusermount -z -u /ipfs
fusermount -z -u /ipns

Tunc nos sileo ipfs.

Addito servitio

Nempe currens in terminatio nonnisi probat initiali idoneus. Modus in certamine, daemon statim debet incipere cum systema incipit.

Pro sudo, tabellam /etc/systemd/system/ipfs.service crea in eamque scribe:

[Unit]
Description=IPFS Daemon
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/home/USERNAME/work/bin/ipfs daemon --mount
User=USERNAME
Restart=always

[Install]
WantedBy=multi-user.target

USERNAME, reponendum sane cum usore tuo (et fortasse plena via ad ipfs programmatis diversum erit tibi (plenam viam notare debes)).

Sit scriptor eu servitium.

sudo systemctl enable ipfs.service

Initium sit servitium.

sudo service ipfs start

Reperiens status muneris.

sudo service ipfs status

Ad puritatem experimenti poterit retrahere servo in futurum reprehendo quod ipfs incipit feliciter ipso facto.

Addere pares nobis notum

Consideremus condicionem ubi nodos IPFS habemus inauguratus tum in servo externo et localiter. Servo externo aliquid fasciculi addimus et per IPFS localiter ab CID tentamus obtinere. Quæ in ea ventura? Utique, cultor localis verisimillimum nihil scit de servo externo nostro et simpliciter tentabit tabellam invenire per CID per "rogare" omnes IPFS pares ei praesto (cum quibus iam "cognosci"). Illi vicissim alios rogabunt. Et sic deinceps donec tabella inveniatur. Idem revera accidit cum limam per ianuam officialem recipere conamur ipfs.io. Si felix es, tabella brevi tempore invenietur. Quod si non, etiam in paucis momentis non invenietur, quae maxime afficit laboris solatium. Sed scimus ubi primus fasciculus hic apparebit. Cur ergo non statim indicamus servo nostro locali "Ecce ibi primum"? Videtur quod hoc possit fieri.

1. Vade ad servitorem remote et quaere in config~/.ipfs/config

"Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",

2. Munus ipfs status sudo curre et quaerere examina in eo introitus, exempli gratia:

Swarm announcing /ip4/ip_вашего_сервера/tcp/4001

3. Inde addimus inscriptionem generalem formae "/ip4/ip_of_your_servatoris/tcp/4001/ipfs/$PeerID".

4. Pro firmitate, hanc electronicam ad pares per locales interretiales addere conemur.

IPFS sine dolore (sed hoc non est accurate)

5. Si omnia OK sunt, config ~/.ipfs/config aperi, "Bootstrap" in ea reperi: [...
et inscriptionem receptam primum ad instruendum adde.

Sileo IPFS.

Nunc tabellam ministro externo addamus et eam in locali conemur postulare. Cito fugere debet.

Sed haec officiatio nondum stabilis est. Quantum intelligo, etsi parem electronicam in Bootstrap nominamus, in operatione ipfs album coniunctionum activarum ad pares mutat. Ceterum, in promptu est disceptatio de his et votis de possibilitate specificandi parium permanentium hic et videtur suspicabar malum adde aliquid functionality ad [Inscriptio protected]+

Album parium currentium tam in webui quam in terminali spectari potest.

ipfs swarm peers

In utroque loco manuale proprium festum addere potes.

ipfs swarm connect "/ip4/ip_вашего_сервера/tcp/4001/ipfs/$PeerID"

Donec haec officiatio aucta sit, instrumentum scribere potes ut nexum cum pari desiderato reprimam et, si minus, nexum apponas.

ratiocinatio

In iis iam nota cum IPFS, utraque argumenta pro & contra ipfs funt. Plerumque, Pridie hesterno die disputationem & me iterum in ipfs fodere coegit. Quod autem attinet ad praedictam disputationem, non possum dicere me vehementer contra aliquos eorum qui loquuntur argumenta (quod unum et dimidium programmatores ipfS utuntur) tantum dissentio. Utrumque recte suo modo in genere (praecipue comment about checks facit ut putes). Sed si moralem et legalem aestimationem postponimus, quis dabit quam technicam huius technologiae aestimationem? Personaliter, quodam sensu interiore habeo quod « hoc est definite necessarium, quasdam habet prospectus ». Sed quid ad amussim, nulla patet formula. Similia, si instrumenta centralizata spectes, tunc in multis longe antecedunt (operandi stabilitas, velocitas operandi, moderabilitas, etc.). Nihilominus unam notionem habeo quae sentire videtur et quae vix sine huiusmodi systematibus honestis effici potest. Nimirum nimis urgeo, sed hoc modo enuntiabo: principium pervulgandi informationis in Interreti mutandum est.

Dicam. Si hoc modo cogitas, nunc informationes distribuimus secundum principium: "Spero eum cui dedi, id tuebitur, nec amittetur nec recipitur ab eo cui non destinatum est". Exemplum, facile est varias electronicas officia, nubes reposita considerare, etc. Et quid habemus in fine? Hub in Habré Notitia Securitatis in prima linea et fere cotidie nuntium accipimus de alio effluo globali. In principio, omnia maxime iucunda recensentur in admirabili <ironice> articulus Aestas prope est. Non est fere non inanes notitia left. Hoc est, praecipui interreti gigantes maiores et maiores fiunt, qui magis ac magis informationes accumulant, et tales scillam sunt quaedam explosiones atomorum notitiarum. Hoc numquam antea factum est, et hic iterum est. Simul, etsi multi intellegunt periculum esse, tamen notitiae tertiae partis societatibus confidunt. Uno modo, non multum joco, et secundo, promittunt se omnia foramina sarcienda esse, et hoc nunquam iterum fiet.

Quam optionem video? Data mihi videtur initio palam distribuenda esse. Sed apertus in hoc casu non significat omnia facilia lectu esse. De repositionis et distributionis apertione loquor, sed non de summa in legendo apertione. Pono informationes publicas clavibus distribuendas esse. Post omnes, principium claves publicarum privatarum iam tam vetus est quam in Interreti. Si indicium secreti non est et pro lato circulo destinatur, tunc statim cum clave publica emittitur (sed adhuc in forma encrypted, sicut quis potest eam cum clave existente minuere). Et si non, ponatur sine clave publica, et ipsa clavis transfertur ad eum qui huic notitiae accessum habere debet. Eodem tempore, qui legere debet, clavem tantum habere debet, et ubi hanc informationem consequi non debet vere ad se referre — id solum trahit a retis (hoc est novum distributionis principium per contentum, et non. by oratio).

Ita, pro impetu magno, oppugnatores necesse erit ut ingentem numerum clavium privatarum obtineant, quod in uno loco fieri non potest. Hoc negotium, ut video, difficilius est quam certum ministerium caesim.

Et hic ponitur alia quaestio: confirmatio auctoritatis. Nunc in Interreti multa auctoritates ab amicis nostris scripta invenies. Sed ubi est sponsio ista scribentis? Nunc, si utrumque tale chirographum cum subscriptione digitale esset, multo simplicius esset. Nec refert ubi haec notitia sita sit, summa est subscriptio, quae difficile est ut patet.

Et hic est quid hic interest: IPFS instrumenta encryption iam continet (post omnia technologiae clausurae aedificatur). Clavis privata statim in config indicatur.

  "Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx",
    "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5
pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60
KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7
2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................

Artifex securitatis non sum et exacte scire non possum quomodo hoc recte utaris, sed hae claves in gradu commutationis inter nodos IPFS adhibentur. Et etiam js-ipfs et talia exempla incepta orbita-db*in quo operatur orbit.chat. Hoc est, theoretice, unaquaeque machina (mobilis et non solum) facile propriis encryptionibus et machinis decryptionis instrui potest. In hoc casu, omnia quae supersunt, unicuique est curare ut claves privatas conservandi et quisque responsabilis securitatis suae erit, et non obses adhuc alicui factori humano in aliquo super-populari interreti gigantis.

Tantum usores descripserunt in aliquet participare possunt. InscribeTe gratissimum esse.

Audistin' de IPFS ante?

  • IPFS numquam audivi, sed interesting videtur

  • Non audistis et non vultis audire

  • Audivi, sed non quaero

  • Audivi, sed non intellexi, nunc interesting videtur

  • IPFS diu strenue usus sum.

69 utentes censuerunt. 13 Utentes abstinuerunt.

Source: www.habr.com

Add a comment