Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update: Romanian translation files Tutorials 2 #6129

Merged
merged 2 commits into from
Apr 29, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,102 +1,101 @@
---
title: Implementarea primului tău contract inteligent
description: O introducere în implementarea primului tău contract inteligent într-o rețea de testare Ethereum
title: Implementarea primului dvs. contract inteligent
description: Introducere despre implementarea primului dvs. contract inteligent într-o rețea de testare Ethereum
author: "jdourlens"
tags:
[
"contracte inteligente",
"remix",
"solidity",
"noțiuni de bază",
"implementarea",
]
- "contracte inteligente"
- "remix"
- "solidity"
- "noțiuni de bază"
- "implementare"
skill: începător
lang: ro
sidebar: true
published: 2020-04-03
published: 03-04-2020
minimalsm marked this conversation as resolved.
Show resolved Hide resolved
source: EthereumDev
sourceUrl: https://ethereumdev.io/deploying-your-first-smart-contract/
address: "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
---

Cred că ești la fel de entuziasmat ca noi să [implementezi](/developers/docs/smart-contracts/deploying/) și să interacționezi cu primul tău [contract inteligent](/developers/docs/smart-contracts/) pe blockchain-ul Ethereum.
Cred că sunteţi la fel de entuziasmat ca noi să [implementaţi](/developers/docs/smart-contracts/deploying/) și să interacționaţi cu primul dvs. [contract inteligent](/developers/docs/smart-contracts/) pe blockchain-ul Ethereum.

Nu-ți face griji, deoarece este primul nostru contract inteligent, îl vom implementa într-o [rețea de testare locală](/developers/docs/networks/), astfel încât să nu te coste nimic pentru a-l implementa și juca atât cât dorești cu el.
Nu vă faceți griji, deoarece este primul nostru contract inteligent, îl vom implementa pe o [rețea locală de testare](/developers/docs/networks/), astfel încât să nu coste nimic să îl implementați și să încercați tot ce doriți cu el.

## Scrierea contractului nostru {#writing-our-contract}
## Cum ne scriem contractul {#writing-our-contract}

Primul pas este să vizitezi [Remix](https://remix.ethereum.org/) și să creezi un fișier nou. În partea din stânga de sus a interfeței Remix, adaugă un nou fișier și introdu numele fișierului dorit.
Primul pas este să vizitaţi [Remix](https://remix.ethereum.org/) și să creaţi un fișier nou. În partea din stânga sus a interfeței Remix, adaugaţi un nou fișier și introduceţi numele dorit al fișierului.

![Adăugarea unui fișier nou în interfața Remix](../../../../../developers/tutorials/deploying-your-first-smart-contract/remix.png)
![Adăugarea unui fișier nou în interfața Remix](./remix.png)

În noul fișier, vom lipi următorul cod.
Vom insera următorul cod în noul fişier.

```solidity
pragma solidity 0.5.17;
// SPDX-License-Identifier: MIT
pragma solidity >=0.5.17;

contract Counter {

// Variabilă publică de tip int nesemnat pentru a păstra numărul de contorizări
// Public variable of type unsigned int to keep the number of counts
uint256 public count = 0;

// Funcție care incrementează contorul nostru
// Function that increments our counter
function increment() public {
count += 1;
}

//Nu este necesar getter pentru a obține valoarea de numărare
// Not necessary getter to get the count value
function getCount() public view returns (uint256) {
return count;
}

}
```

Dacă ești obișnuit cu programarea poți ghici cu ușurință ce face acest program. Iată un explicator rând cu rând:
Dacă sunteţi obişnuit să programaţi, vă puteţi da seama uşor ce face acest program. Iată un explicator linie cu linie:

- Linia 3: Definim un contract cu numele `Counter`.
- Linia 6: Contractul nostru stochează un număr întreg nesemnat numit `count` începând de la 0.
- Linia 9: Prima funcție va modifica starea contractului și `increment()` variabila noastră `count`.
- Linia 14: A doua funcție este doar un getter pentru a putea citi valoarea variabilei `count` în afara contractului inteligent. Reține că, așa cum am definit variabila noastră `count` ca fiind publică, aceasta nu este necesară, dar este prezentată ca exemplu.
- Linia 6: Contractul nostru stochează un număr întreg nesemnat numit `count`, începând de la 0.
- Linia 9: Prima funcție va modifica starea contractului și `increment()`(va creşte) variabila noastră `count`.
- Linia 14: A doua funcție este doar un getter pentru a putea citi valoarea variabilei `count` în afara contractului inteligent. Rețineţi că, întrucât am definit variabila noastră `count` ca fiind publică, aceasta nu este necesară, dar este prezentată ca exemplu.

Acesta este primul nostru contract inteligent simplu. După cum probabil știi, arată ca o clasă din limbajele OOP, cum ar fi Java sau C++. Acum este timpulne jucăm cu contractul nostru.
Este tot ce avem de făcut pentru primul nostru contract inteligent simplu. După cum ştiţi probabil, arată ca o clasă din limbajele OOP, cum ar fi Java sau C++. A sosit momentulfacem încercări cu contractul nostru.

## Implementarea contractului {#deploying-our-contract}
## Implementarea contractului nostru {#deploying-our-contract}

După ce am scris primul nostru contract inteligent, îl implementăm în blockchain pentru a putea să ne jucăm cu el.
Acum, că ne-am scris primul contract inteligent, îl implementăm în blockchain pentru a putea face încercări cu el.

[Implementarea contractului inteligent în blockchain](/developers/docs/smart-contracts/deploying/) este de fapt doar trimiterea unei tranzacții care conține codul contractului inteligent compilat, fără a specifica niciun destinatar.
[Implementarea contractului inteligent în blockchain](/developers/docs/smart-contracts/deploying/) este de fapt doar trimiterea unei tranzacții care conține codul contractului inteligent compilat, fără a specifica vreun destinatar.

Mai întâi vom [compila contractul](/developers/docs/smart-contracts/compiling/) făcând clic pe pictograma compilare din partea stângă:
Mai întâi vom [compila contractul](/developers/docs/smart-contracts/compiling/) făcând clic pe pictograma de compilare din partea stângă:

![Pictograma de compilare din bara de instrumente Remix](../../../../../developers/tutorials/deploying-your-first-smart-contract/remix-compile-button.png)
![Pictograma de compilare din bara de instrumente Remix](./remix-compile-button.png)

Apoi facem clic pe butonul compilare:
Faceți clic apoi pe butonul de compilare:

![Butonul de compilare din compilatorul Remix solidity](../../../../../developers/tutorials/deploying-your-first-smart-contract/remix-compile.png)
![Butonul de compilare din compilatorul Remix solidity](./remix-compile.png)

Poți alege opțiunea „Compilare automată”, astfel încât contractul să fie întotdeauna compilat când salvezi conținutul pe editorul de text.
You can choose to select the “Auto compile” option so the contract will always be compiled when you save the content on the text editor.

Apoi navighează la „deploy” și rulează ecranul de tranzacții:
Apoi navigaţi la „deploy” și rulaţi ecranul de tranzacții:

![Pictograma de implementare din bara de instrumente Remix](../../../../../developers/tutorials/deploying-your-first-smart-contract/remix-deploy.png)
![Pictograma de implementare din bara de instrumente Remix](./remix-deploy.png)

Odată ce te afli în ecranul de tranzacții „implementare și executare”, verifică din nou dacă numele contractului tău apare și clic pe „Deploy”. După cum poți vedea în partea de sus a paginii, mediul actual este „JavaScript VM”, ceea ce înseamnă că vom implementa și interacționa cu contractul nostru inteligent pe un blockchain de test local pentru a putea testa mai rapid și fără taxe.
Odată cevă aflaţi în ecranul de „implementare și executare” tranzacţii, verificaţi din nou dacă apare numele contractului dvs. și faceţi clic pe „Deploy”. As you can see on the top of the page, the current environment is “JavaScript VM” that means that we’ll deploy and interact with our smart contract on a local test blockchain to be able to test faster and without any fees.

![Butonul de implementare din compilatorul Remix solidity](../../../../../developers/tutorials/deploying-your-first-smart-contract/remix-deploy.png)
![Butonul de implementare din compilatorul Remix solidity](./remix-deploy-button.png)

După ce ai făcut clic pe butonul „Deploy”, vei vedea contractul tău în partea de jos. clic pe săgeata din stânga pentru a o extinde, astfel încât să vedem conținutul contractului nostru. Aceasta este variabila `counter`, funcția noastră `increment()` și getter-ul `getCounter()`.
După ce aţi făcut clic pe butonul „Deploy”, vă veţi vedea contractul în partea de jos. Faceţi clic pe săgeata din stânga pentru a o extinde, astfel încât să vedem conținutul contractului nostru. Aceasta este variabila `counter`, funcția noastră `increment()` și getter-ul `getCounter()`.

Dacă faci clic pe butonul `count` sau `getCount`, acesta va prelua conținutul variabilei `count` a contractului și o va afișa. Deoarece nu am apelat încă funcția `increment`, ar trebui să afișeze 0.
Dacă faceţi clic pe butonul `count` sau `getCount`, acesta va prelua conținutul variabilei `count` a contractului și îl va afișa. Deoarece nu am apelat încă funcția `increment`, ar trebui să afișeze 0.

![Butonul funcție din compilatorul Remix solidity](../../../../../developers/tutorials/deploying-your-first-smart-contract/remix-function-button.png)
![Butonul funcție din compilatorul Remix solidity](./remix-function-button.png)

Să apelăm acum funcția `increment` făcând clic pe buton. Vei vedea jurnalele tranzacțiilor efectuate care apar în partea de jos a ferestrei. Vei vedea că jurnalele sunt diferite atunci când apeși butonul pentru a prelua datele în loc de butonul `increment`. Acest lucru se datorează faptului că citirea datelor pe blockchain nu are nevoie de tranzacții (scriere) sau taxe. Deoarece doar modificarea stării blockchain-ului necesită efectuarea unei tranzacții:
Să apelăm acum funcția `increment` făcând clic pe buton. Veţi vedea jurnalele tranzacțiilor efectuate, care apar în partea de jos a ferestrei. Veţi vedea că jurnalele sunt diferite atunci când apăsaţi butonul de preluare a datelor, în locul butonului `increment`. Acest lucru se datorează faptului că citirea datelor pe blockchain nu are nevoie de tranzacții (scriere) sau taxe. Deoarece doar modificarea stării blockchain-ului necesită efectuarea unei tranzacții:

![Un jurnal al tranzacțiilor](../../../../../developers/tutorials/deploying-your-first-smart-contract/transaction-log.png)
![Un registru al tranzacțiilor](./transaction-log.png)

După apăsarea butonului de incrementare, care va genera o tranzacție pentru a apela funcția noastră `increment()`, dacă facem clic din nou pe butoanele count sau getCount, vom citi noua stare actualizată a contractului nostru inteligent, cu variabila count mai mare de 0.
După apăsarea butonului de incrementare, care va genera o tranzacție pentru a apela funcția noastră `increment()` dacă facem clic din nou pe butoanele count sau getCount, vom citi noua stare actualizată a contractului nostru inteligent, cu variabila count mai mare decât 0.

![Starea nouă actualizată a contractului inteligent](../../../../../developers/tutorials/deploying-your-first-smart-contract/updated-state.png)
![Starea recent actualizată a contractului inteligent](./updated-state.png)

În tutorialul următor, vom acoperi [cum poți adăuga evenimente la contractele tale inteligente](/developers/tutorials/logging-events-smart-contracts/). Înregistrarea evenimentelor este o modalitate convenabilă de a depana contractul inteligent și de a înțelege ce se întâmplă în timp ce apelezi o funcție.
În tutorialul următor, vom acoperi [cum puteţi adăuga evenimente la contractele dvs. inteligente](/developers/tutorials/logging-events-smart-contracts/). Înregistrarea evenimentelor este o modalitate convenabilă de a elimina bug-urile din contractul dvs. inteligent și de a înțelege ce se întâmplă în timp ce apelaţi o funcție.
Loading