5 adımda Tezos Smart Rollup kurulumu
Thomas Letan ve Chris Pinnock tarafından
Toplama , işlemleri ana blok zincirinden uzakta işlemenin, "toplamanın" ve daha sonra geri enjekte etmenin bir yoludur. Tezos'un yeni yükseltmesi Mumbai, akıllı toplama özelliğini ana ağa getirecek . Akıllı toplama , bir WebAssembly (Wasm) programı tarafından yönetilen bir toplamadır ve çok çeşitli kullanım durumlarını uygulamak için kullanılabilir.
Uygulamalar şunları içerir:
• Kuruluşların işlemlerini bir toplu halde yönetmelerine olanak tanıyarak gelişmiş performans ve artan verim;
• Birincil blok zincirindeki yükü azaltmak için zincir dışı kod çalıştırma;
• Diğer blockchain akıllı sözleşme dilleriyle ( Ethereum gibi ) uyumlu bir sanal makine ortamı sağlamak, böylece diğer blockchainlerden geliştiriciler için bir geçiş yolu sağlamak.
Bu kısa makale size Mumbai test ağında bir toplamaya nasıl başlayacağınızı gösterecek. Mumbai protokolünün kabul edildiğini varsayarsak, buradaki süreç Nisan 2023'te ana ağda çalışmalıdır , ancak lütfen dikkatli olun — ana ağda yönettiğiniz herhangi bir Tezos cüzdanı iyi korunmalıdır. Ayrıca Octez v16 kapsamında yayınlanan smart rollup node test amaçlı olarak sunulmuştur. Ana ağ dağıtımına uygun, üretime hazır ilk akıllı toplama düğümünün Octez v17'nin bir parçası olarak piyasaya sürülmesi bekleniyor.
Teknik detaylara girmiyoruz. Daha fazla bilgi için lütfen Smart Rollup Geliştirici Belgelerine bakın . Aşağıdaki ön koşulları varsayıyoruz:
• Octez v16.0rc3 veya üstü ile çalışan bir Tezos Düğümü çalıştıran çalışan bir Debian veya Ubuntu Linux makinesi.
• Bir akıllı toparlama arka plan programı çalıştırmak için, en az 10.000ꜩ rezerve etmeniz gerekecek ve bu, teminat olarak dondurulacaktır. Ek olarak, Katman 1 operasyonlarının ücretlerini ödemek için bir miktar fon ayrılmalıdır.
Mumbainet'te bir cüzdan kurmak da dahil olmak üzere bunları ayarlayarak başlayalım .
1 — Düğümü kurmak
Octez yazılımını kaynaktan derleyerek kurabilirsiniz . Alternatif olarak, bir düğüm oluşturmak için yazarlardan birinin makalesini kullanabilirsiniz . Akıllı toplamalar için indirme sitesinde v15.1 yerine v16.0rc3 paketlerini kullanmanız gerekecektir .
Makale, yazılımı çalıştırmak için özel bir kullanıcı tezos kullanmayı öneriyor ve biz de bu makalede aynısını varsayıyoruz. Düğümü mumbainet için kurduğunuzdan ve bir mumbainet anlık görüntüsü kullandığınızdan emin olun. Örneğin, düğüm kullanımını yapılandırdığınızda:
sudo su - tezos
octez-node config init --data-dir /var/tezos/node \
--network mumbainet \
--history-mode=rolling \
--net-addr="[::]:9732" \
--rpc-addr="127.0.0.1:8732"
Ardından, tanımlanan tüm bağımlılıkları yükleyerek Smart Rollup arka plan programlarını root olarak kurun. Örneğin, Ubuntu Linux'ta:
```
apt install libgmpxx4ldbl
dpkg -i octez-ubt220-unoff-smartrollups_16.0rc3-1_amd64.deb
```
Makinede bir cüzdan kurabilir ve aşağıdaki gibi 10.000 test ꜩ elde edebilirsiniz. Bu prosedür, anahtarlarınızı korumanız gereken ana ağda önerilmez . Bir test ağı üzerinde çalıştığınızı varsayıyoruz. İlk olarak, operatör olarak takma ad verilecek bir cüzdan oluşturun .
sudo su - tezos
octez-client gen keys operator
octez-client list known addresses
operator: tz1gUp6L56GvuLVk3ZFoFZ6bqckFZf6XgYsm (unencrypted sk known)
$ octez-client get balance for operator
12002 ꜩ
Mumbai test ağı için, geliştirme ekibi deneysel bir çekirdek önerir ve sağlar. Bu çekirdek, aldığı işlemleri Katman 1 zincirine geri gönderen basit bir "yankı çekirdeğidir". Smart Rollup Developer Documentation, kullanıcıların bir akıllı toplama ile sahip olabileceği çeşitli etkileşimleri göstermek için bunu kullanır. Bunu içeren kabuk betiğini indirin .
wget
https://tezos.gitlab.io/_downloads/3dc4fd44d97861f183e18fda0ee8a9ae/sr_boot_kernel.sh
source sr_boot_kernel.sh
echo ${KERNEL}
4 — Toplamanın oluşturulması ve Toplama Arka Plan Programının yapılandırılması
Yerel cüzdanın operatör olarak adlandırıldığını varsayarsak , toplamayı octez-client komutunu ( tezos olarak ) kullanarak başlatın:
octez-client originate smart rollup from operator \
of kind wasm_2_0_0 \
of type bytes \
with kernel "${KERNEL}" \
--burn-cap 999
Oluşturmanın başarılı olması koşuluyla, çıktıda akıllı toplama adresini içeren bir satır olacaktır. Adres sr1 ile başlar ve aşağıdaki örnek çıktımızda sr16sXnn7syKanQyVdXJ2h1VxKxmSE52NNsv şeklindedir.
Estimated gas: 2748.229 units (will add 100 for safety)
Estimated storage: 6552 bytes added (will add 20 for safety)
Operation successfully injected in the node.
Operation hash is 'ooU5aURNgPGcvuHrSxtWJ61NoBMdD5H6nh8smStGV8JhE1ip8Ac'
Waiting for the operation to be included...
Operation found in block: BMA1mBzZZfra2cAhYVUQ5G2d7qWNrr62UGzE4PnM4rMhr2v5SYm (pass: 3, off
This sequence of operations was run:
Manager signed operations:
From: tz1gUp6L56GvuLVk3ZFoFZ6bqckFZf6XgYsm
Fee to the baker: tz0.001054
Expected counter: 285427
Gas limit: 2849
Storage limit: 6572 bytes
Balance updates:
tz1gUp6L56GvuLVk3ZFoFZ6bqckFZf6XgYsm ... -tz0.001054
payload fees(the block proposer) +tz0.001054
Smart rollup origination: Kind: wasm_2_0_0
Parameter type: bytes
Kernel Blake2B hash:
'24df9e3c520dd9a9c49b447766e8a604d31138c1aacb4a67532499c6a8b348c
This smart rollup origination was successfully applied
Consumed gas: 2748.269
Storage size: 6552 bytes
Address: sr16sXnn7syKanQyVdXJ2h1VxKxmSE52NNsv
Genesis commitment hash:
src148CUpWBSWdiACxJU7qmM83EPSwJUnGXvT3UoR1wMskb7qDn9o8
Balance updates:
tz1gUp6L56GvuLVk3ZFoFZ6bqckFZf6XgYsm ... -tz1.638
storage fees +tz1.638
The operation has only been included 0 blocks ago.
We recommend to wait more.
Use command
octez-client wait for ooU5aURNgPGcvuHrSxtWJ61NoBMdD5H6nh8smStGV8JhE1ip8Ac
to be included --confirmations 1 --branch
BLkRNr2dgMbmpxvmmohneG4Q6zAGv6AperavsgdDJzYzTfuHrYJ
and/or an external block explorer.
Bir çalışma dizini oluşturun. Ardından, şu anda etkin olan protokolü kullanarak toplama arka plan programlarını aşağıdaki gibi yapılandırmak için akıllı toplama adresini ve cüzdan adresini kullanın:
Tabulate: mkdir -p /var/tezos/smartrollup
octez-smart-rollup-node-PtMumbai --base-dir "/var/tezos/node" \
init operator config for "sr16sXnn7syKanQyVdXJ2h1VxKxmSE52NNsv" \
with operators "tz1gUp6L56GvuLVk3ZFoFZ6bqckFZf6XgYsm" \
--data-dir "/var/tezos/smartrollup"
5 — Toplama Arka Plan Programlarını Çalıştırma
Yukarıda belirtilen paketleri kullanıyorsanız, systemctl'yi root olarak kullanarak akıllı toplama arka plan programlarını çalıştırabilirsiniz. Önyükleme zamanında başlayacak şekilde ayarlanabilirler. Çalıştırmadan önce /etc/octez/smartrollup.conf dosyasının ortamınız için uygun olup olmadığını kontrol edin .
systemctl enable octez-smartrollup
systemctl start octez-smartrollup
octez-smart-rollup-node-PtMumbai run --data-dir /var/tezos/smartrollup
Son olarak, toplamayı test etmek için içine basit bir mesaj ekleyebilirsiniz. Geliştirme sitesinde verilen örneği inceliyoruz . Ayrıntı bu makalenin kapsamı dışındadır. İlk olarak, blok zincirinde aşağıdaki gibi bir sözleşme oluşturun:
Tabulate: sudo su - tezos
octez-client originate contract testcontract transferring 1 from operator \
running 'parameter string; storage string; code {CAR; NIL operation; PAIR};' \
--init '""' --burn-cap 0.4
...
New contract KT1ABda79D6zcmRvKPoTYsqddDhrhWCqjCzr originated.
MESSAGE='[ { "destination" : "KT1ABda79D6zcmRvKPoTYsqddDhrhWCqjCzr",
"parameters" : "\"Hello Tezos Commons\"",
"entrypoint" : "%default" } ]'
EMESSAGE=`octez-smart-rollup-client-PtMumbai encode outbox message "$MESSAGE"`
octez-client send smart rollup message "hex:[ \"${EMESSAGE}\" ]" from operator
wget http://YOURNODE:8732/chains/main/blocks/BLOCK_ID
[
{
"protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
"chain_id": "NetXzfS4qFhir8c",
"hash": "onjf4VukkZ2BYkhbnjtKMia35xzTkQwoYctrYZ8sNwBh2BRgDSq",
"branch": "BMDnbi8TKyDbNR4144Um15jCoLGEh2WejS5j2iM68SPTVcRqZZc",
"contents": [
{
"kind": "smart_rollup_publish",
"source": "tz1gUp6L56GvuLVk3ZFoFZ6bqckFZf6XgYsm",
"fee": "963",
"counter": "3941",
"gas_limit": "6418",
"storage_limit": "0",
"rollup": "sr1Hp6fvRDkKUsFsdLXoFiAn1tVCjkpmSygb",
"commitment": {
"compressed_state": "srs12QdRrhCEj8N8HjbsZNQVd8x4EVzfT9SBCfzNSHqS97i6yWVXA9",
"inbox_level": 8958,
"predecessor": "src13eN6KaiGH66HDYRsoXdZBiQ1GT24qjDusgCuEkrEiL2MUxEGA3",
"number_of_ticks": "880000000000"
},
"metadata": {
"balance_updates": [
{
"kind": "contract",
"contract": "tz1gUp6L56GvuLVk3ZFoFZ6bqckFZf6XgYsm",
"change": "-963",
"origin": "block"
},
{
"kind": "accumulator",
"category": "block fees",
"change": "963",
"origin": "block"
}
],
"operation_result": {
"status": "applied",
"consumed_milligas": "6317837",
"staked_hash": "src12cod31ux6yxPBEhhWSX7nW3bodNRxdMHnzMjLNYVRfLCG3dXNp",
"published_at_level": 8961,
"balance_updates": []
}
}
}
],
Bu son örneğin Mumbainet yerine Mondaynet'te yapıldığını unutmayın. Ayrıca, akıllı toplama testiniz için Mondaynet'i de kullanabilirsiniz, ancak ağla eşleşmesi için Octez'in doğru geliştirme sürümünü kullanmanız gerekecektir.
teşekkürler
Bu makalenin hazırlanması sırasında bazı faydalı tartışmalar için John Newby'ye teşekkürler.

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































