Lengo la mwongozo huu ni kusaidia kuwaelimisha watumiaji wa Zcash ambao wana nia ya kuendesha nodi kamili kwenye Raspberry Pi 4 yenye nguvu ndogo.
zcashdPI
Ikiwa unapata mwongozo huu kuwa na manufaa, fikiria kuchangia ZEC kusaidia ZecHub:
zs1txa9wzxsc46w4940c4t76wjlylhntyp7vcppsp8re32z02srqse038melgglew4jwsh3qes4m4n
Mambo utakayojifunza:
- Jinsi ya kuunda kadi ya Ubuntu Server inayoweza kuzinduka kutoka kwenye kadi ya microSD
- Jinsi ya kusanidi uunganisho wa mtandao kwenye Raspberry Pi 4
- Jinsi ya kupata Raspberry Pi 4 yako kijijini
- Jinsi ya kusakinisha zcashd
- Jinsi ya kusanidi zcashd
- Jinsi ya kutumia zcashd
Mahitaji ya awali
- 8GB Raspberry Pi 4 Canakit au sawa
- Kompyuta yenye kichomeka kadi ya microSD
- Mtandao wa Wi-Fi au kebo ya Ethernet na uunganisho waintaneti
- Hifadhi ya nje ya SSD/HDD yenye msaada wa USB3
Taarifa: Kuweka server yako salama sio rahisi kwa njia yoyote. Ikiwa una vidokezo/ushauri/mazoea bora zaidi ambayo hayajazungumziwa katika mwongozo huu, tafadhali chukua hatua na saidia kuweka mwongozo huu kuwa wa kisasa iwezekanavyo kwa kufungua Ombi la Ushirikiano (PR).
Yaliyomo:
- Tayarisha Kadi ya SD
- Zindua Ubuntu Server
- Unganisha Kijijini kwenye Raspberry Pi 4
- Sakinisha zcashd
- Sanidi zcashd
- Matumizi ya zcashd
- Vyanzo
Tayarisha Kadi ya SD
Katika hatua hii utaunda kadi ya SD inayoweza kuzinduka ambayo itawezesha Raspberry Pi 4 yako kuanza.
- ngiza kadi ya microSD kwenye kompyuta yako. Huenda ukahitaji kutumia kichomeka ambacho kinakuja na Canakit au kichomeka chochote kingine kinacholingana.
- Sakinisha Raspberry Pi Imager kulingana na mfumo wako wa uendeshaji.
Kwa mfano, katika Linux, unaweza kuingiza amri ifuatayo baada ya kupakua:
sudo dpkg -i imager_latest_amd64.deb
- Fungua Raspberry Pi Imager
rpi-imager
- Chagua OS na Kifaa cha Kuhifadhi. Kwa kuwa Raspberry Pi 4 ni ya 64-bit, napendekeza kuchagua “Other general-purpose OS” => Ubuntu => Ubuntu Server 22.10 (64 bit). Bonyeza kwenye Uhifadhi na chagua Kadi yako ya SD.
- Kabla ya kuandika kwenye kadi ya SD, bonyeza chaguo za ziada kwa kubonyeza ishara ya gia nyeupe karibu na kona ya chini kulia.
- Hapa unaweza kusasisha::
- Jina la mwenyeji wa Raspberry Pi 4
- Kuwezesha SSH
- Kuunda jina la mtumiaji na pw
- Kuwezesha na kusanidi Wi-Fi yako ikihitajika
- Ukimaliza finya Write
Boot Ubuntu Server
Ikiwa una skrini na kibodi ziada, chomeka sasa. Kumbuka: hizi ni za hiari.
Sakinisha kadi ya SD uliyounda kwenye Raspberry Pi 4 na pia chomeka Hifadhi ya Nje ya SSD/HHD kwenye bandari ya USB3. Pia chomeka waya wa umeme na uizime.
Unganisha kijijini kwenye Raspberry Pi 4 yako
- Sasa tunahitaji kuunganisha kwenye Raspberry Pi 4 yako. Vitu tunavyohitaji ni:
- Jina la mtumiaji na nywila (kutoka hatua iliyopita)
- Anwani ya IP ili tuweze kutumia SSH
- Skrini na kibodi (hiari)
- Ikiwa una skrini na kibodi vilivyounganishwa moja kwa moja na Raspberry Pi yako, sehemu iliyobaki ya hatua hii inaweza kusongezwa.
- Kuna njia mbili za kupata anwani yako ya IP, ambayo ni kupitia ukurasa wa usimamizi wa router yako au kutumia nmap. Ikiwa utatumia router, inategemea mtengenezaji na nitatoa maelezo hayo kwa utafutaji wa haraka kwenye Google.
- Ukitumia nmap, kwanza hakikisha kuwa imewekwa
- Tafuta anwani ya IP ya kompyuta yako ya sasa na andika sehemu tatu za kwanza. Kawaida ni 192.168.1.xxx au 192.168.50.xxx
- Weka maelezo haya katika nmap kama ifuatavyo:
sudo nmap -sn 192.168.50.0/24
ausudo nmap -sn 192.168.1.0/24
- Hii itaonyesha vifaa vyote vilivyounganishwa kwenye mtandao wako wa nyumbani, ambavyo vinaonyesha anwani ya IP ya Raspberry Pi 4 yako / anwani ya MAC.
- Kutumia jina lako la mtumiaji, nywila, na anwani ya IP, sasa tunaweza kuingia kwa kutumia SSH
ssh <jina lako la mtumiaji>@<anwani ya IP ya Raspberry Pi yako>
kumbuka: lazima uweke jina lako la mtumiaji na anwani yako ya IP, na nywila yako unapoulizwa.- Kwa mfano:
ssh ubuntu@192.168.1.25
ambapo jina la mtumiaji ni ubuntu na anwani ya IP ni 192.168.1.25. - Ikiwa unataka kujua ni toleo gani la Raspberry Pi unatumia, jaribu amri hii:
sudo apt-get install nmap
sshLogin
cat /sys/firmware/devicetree/base/model ; echo
Upi
Kusakinisha zcashd
- Kuna njia mbili za kusakinisha zcashd, ambazo ni kupakua binary iliyopachikwa tayari au kusakinisha zcashd kutoka chanzo. Napendekeza sana kusakinisha kutoka chanzo.
- Ikiwa unapakua binary iliyopachikwa tayari, chanzo kimoja ni adityapk00 . Kumbuka kwamba tukiendesha OS ya 64 bit, tunataka zcash-linux-aarch64-v*.tar.gz. Pia kumbuka kuwa toleo la karibuni la zcashd mara chache linapachikwa tayari
- Kwa kusakinisha kutoka chanzo, inapendekezwa sana kusakinisha kutoka chanzo kingine cha kusakinishia kwenye jukwaa lingine. Kusakinisha kutoka chanzo kingine cha kusakinishia ni kujenga kwenye jukwaa moja faili ya binary ambayo itaendesha kwenye jukwaa lingine. Moja ya sababu ni kwamba Raspberry Pi 4 ni chombo chenye nguvu ndogo, na kwa hivyo siyo haraka sana! Tumia kompyuta yako kuu ili kusaidia na hili. Unaweza kupata toleo jipya zaidihapa.
- kusakinisha kutoka chanzo kingine cha kusakinishia, tunahitaji kuhakikisha kuwa tuna paketi zinazohitajika. Sakinisha Zifuatazo
sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python3 python3-zmq zlib1g-dev curl bsdmainutils automake libtinfo5
sudo apt-get install gcc-aarch64-linux-gnu
- Kisha nenda kwenye saraka iliyopakuliwa ya toleo jipya la zcashd na endesha amri ifuatayo:
- https://www.youtube.com/watch?v=MIgkTW9Rfzs
HOST=aarch64-linux-gnu ./zcutil/build.sh
Usanidi zcashd
- Sasa tunahitaji kuhamisha faili zote za zcashd kwenye Raspberry Pi 4 yako. Kuanzia Zcashd v5.3, faili zinazohitajika ni pamoja na:
- Faili hizi zinapatikana kwenye saraka ya /src ya mahali pa kupakua toleo lako jipya ikiwa uliendeleza mwenyewe. Vinginevyo, faili zilizopakuliwa kabla ziko mahali ulipakua
- Njia mbili za kufanikisha uhamishaji huo ni kwa kutumia SFTP au kwa kutumia kifaa chako cha External.
- Ikiwa tayari una node kamili imefungwa na unataka kuokoa muda, unaweza pia kunakili data ya blocks na chainstate.
- Fanya tu:
- Nakili faili za blocks na chainstate .gz kwenye External SSD/HDD yako.
- Kutumia External SSD/HDD kwenye Raspberry Pi 4 yako
- Sakinisha External SSD/HDD kwenye saraka ya Media ili uweze kuiona:
- Endelea kuangalia mmiliki wa saraka/faili na pia ruhusa za upatikanaji.
- Ikiwa umekopi faili za blocks na chainstate za .gz kutoka kompyuta yako nyingine, sasa fanya utaratibu wa kuondoa kamba. Hakikisha ziko kwenye saraka ya .zcash kwenye kifaa chako cha nje.
- Setup /media/portableHD/.zcash/zcash.conf
zcashd
zcash-cli
zcash-tx
zcash-gtest
zcash-inspect
zcashd-wallet-tool
fetch-params.sh
SFTP
sftp username@<ip of RaspberryPi4>
put zcashd
put zcash-cli
put zcash-tx
put zcash-gtest
put zcash-inspect
put zcashd-wallet-tool
put fetch-params.sh
AU
Sawazisha tu faili kwenye Kifaa cha External kabla ya kukiunganisha kwenye Raspberry Pi 4
cd ~/.zcash/
tar -zcvf blocks.tar.gz /blocks
tar -zcvf chainstate.tar.gz /chainstate
lsblk
itaonyesha diski zote zilizounganishwa. Kwa kawaida, zitakuwa na muundo wa sda
id
itaonyesha kitambulisho chako cha mtumiaji na kikundi cha mtumiaji.
lsblk
sudo mount -o umask=0077,gid=<groupid>,uid=<userid> /dev/sda1 /media/portableHD/
sudo chown -R <username>: portableHD
sudo chmod -R 700 portableHD/
tar - xvzf blocks.tar.gz
tar - xvzf chainstate.tar.gz
zconf
- Kumbuka jinsi tulivyohamisha datadir kwenye External SSD/HDD ambayo ina nafasi zaidi iliyopo.
- Kwa kuwa mahali pa chaguo-msingi la saraka ya .zcash limehamishiwa, tunahitaji kuambia zcashd kwa kutumia viungo ishara (symbolic links):
- Anza fetch-params.sh script Kupakua data muhimu kwa ajili ya zcashd.
- Anza ‘screen’ [ programu ndani ya linux]. Fungua zcashd na weka -datadir :
screen -S zcashScreen
./zcashd -datadir=/media/portableHD/.zcash/
- Weka skrini kando..
Ctrl+a , Ctrl+d
- Tengeneza alama ili usilazimike kuandika maagizo yote ya eneo la data ya ziada.
- Tayari kutumia!
cp -rp ~/.zcash/* /new_dir
// Fanya nakala ya saraka ya datadir au itumie diski ngumu ya nje.
rm -rf ~/.zcash
// Ondoa saraka ya chaguo-msingi.
ln -s /media/portableHD/ ~/.zcash
// Tengeneza kiunga ishara (symbolic link) kutoka eneo jipya la data kwenda eneo la chaguo-msingi ili zcashd iweze kufanya kazi vizuri.
./fetch-params.sh
alias zcash-cli="./zcash-cli -datadir=/media/portableHD/.zcash/"
zcash-cli getblockchaininfo
getBlockchaininfo
Using zcashd
- Jinsi ya kuangalia hali ya node yako?
- kupata urefu wa sasa kutoka kwenye kumbukumbu yako.
- Unatuma muamala vipi?
- As seen here, download
- Fanya kuwa na uwezo wa kutekelezwa
- Kuunda muamala wa z2z kwa kutumia tole la hex.Unaweza kubadilisha tena kuwa ASCII ili kufanya majaribio
- Tengeneza muamala wa z2z (Sapling) ukitumia toleo la hex la ujumbe wako uliotajwa hapo juu.
- Jinsi ya kuendeleza kiolesura cha zcashScreen baada ya kuondoka?
- Jinsi ya kusitisha zcashd ?
- Jinsi ya kuunda UA?
- Sasa jenga mpokeaji wa UA kulingana na mahitaji yako. Hii ni pamoja na Orchard pekee, Orchard + Sapling, na hatimaye Orchard + Sapling + Transparent.
- Tafadhali kumbuka unaweza kutofautisha wapokeaji kwa urefu wao.
- Jinsi ya kutuma ZEC kwa kutumia UA?
- Unaweza kupata habari zaidi kuhusu UAs (User Agents) wapi?
tail -n 500 <path to>/.zcash/debug.log
status
tail -n 10 <path to>/.zcash/debug.log | grep -o 'height=[^b]*'
logHeight
zcash-cli getinfo
getinfo
ascii2hex
na
hex2ascii
chmod +x ascii2hex hex2ascii
asciiGOOD
zcash-cli z_sendmany "ztestsapling1kg3u0y7szv6509732at34alct46cyn0g26kppgf2a7h5tpqxldtwm7cmhf8rqmhgt" "[{\"address\": \"ztestsapling2kg3u0y7szv6509732at34alct46cyn0g26kppgf2a7h5tpqxldtwm7cmhf8rqmhgtmpakcz5mdv\",\"amount\": 0.0001, \"memo\":\"5A656348756221\"}]"
screen -r zcashScreen
zcash-cli stop
zcash-cli z_getnewaccount
newAccount
chars
zcash-cli z_getaddressforaccount 0 '["orchard"]'
zcash-cli z_getaddressforaccount 0 '["orchard","sapling"]'
zcash-cli z_getaddressforaccount 0 '["orchard","sapling","p2pkh"]'
zcash-cli z_sendmany "fromOaddress" "[{\"address\": \"dOrchardAddress\",\"amount\": 0.0001, \"memo\":\"yourMemoinHex\"}]" <minconf> <fee> <privacyPolicy>
UAsuccess
pic
##### Inafaa kuzingatiwa kuwa anwani za kutoka NA kwenda zinaweza kuwa anwani za uwazi (transparent), sapling, au orchard, hata hivyo unaweza kulazimika kurekebisha bendera ya privacyPolicy ili uhamisho uwe halali. (Baadhi ya mchanganyiko hautafanya kazi ikiwa privacyPolicy haifanyi maana!)
Rasilimali
- https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview
- https://github.com/zcash/zcash
- https://zcash.readthedocs.io/en/latest/rtd_pages/Debian-Ubuntu-build.html
- https://zcash.readthedocs.io/en/latest/rtd_pages/memos.html
- https://en.wikipedia.org/wiki/Secure_Shell
- https://itsfoss.com/how-to-find-what-devices-are-connected-to-network-in-ubuntu/
- https://youtu.be/YS5Zh7KExvE
- https://twitter.com/BostonZcash/status/1531798627512877059
- https://forum.zcashcommunity.com/t/unified-addresses-full-node-rpc-api/41980/2
- https://medium.com/@hanh425/transaction-privacy-78f80f9f175e
- https://znewsletter.netlify.app/
- https://github.com/zcash/zips/issues/470
- https://zips.z.cash/protocol/nu5.pdf#unifiedpaymentaddrencoding