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

merging Tim's PRs 07.09.2023 - 14.09.2023 #110

Merged
merged 30 commits into from
Sep 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
03b9f79
Clarifications to the "What makes Tezos different" sectino
timothymcmackin Sep 11, 2023
7e0b852
Update smartpy tutorial based on changes to LIGO tutorial
timothymcmackin Sep 13, 2023
6f5d3de
Merge pull request #108 from trilitech/feat/update-contract-tutorial-…
timothymcmackin Sep 14, 2023
ce5f8f9
Intro and summary
timothymcmackin Sep 12, 2023
17e2cb1
Consolidate prereqs
timothymcmackin Sep 12, 2023
c6cca13
Setting up a project and connecting to a testnet
timothymcmackin Sep 12, 2023
7eefcc3
Wallet setup
timothymcmackin Sep 12, 2023
f596976
Coding the contract
timothymcmackin Sep 12, 2023
7efc3dd
Deploying and calling
timothymcmackin Sep 12, 2023
8bea699
Learning how this function works in ligo
timothymcmackin Sep 13, 2023
63615b1
Clarify how the return values work
timothymcmackin Sep 13, 2023
92b41e8
Use separate functions
timothymcmackin Sep 13, 2023
6bbdd39
get entrypoints correct
timothymcmackin Sep 13, 2023
a904edd
typo
timothymcmackin Sep 13, 2023
7d5abb1
update date
timothymcmackin Sep 13, 2023
4c43448
NExt steps
timothymcmackin Sep 13, 2023
4f0648e
Updates from Beata
timothymcmackin Sep 13, 2023
f386356
Clarify languages
timothymcmackin Sep 13, 2023
0171005
Differentiate folder name from other tutorials
timothymcmackin Sep 13, 2023
ea5da8a
stray sentence
timothymcmackin Sep 13, 2023
3550a0d
fixes
timothymcmackin Sep 13, 2023
2ae7335
address clarification
timothymcmackin Sep 13, 2023
93661f6
You can go back to the block explorer to verify that the storage of t…
timothymcmackin Sep 13, 2023
eb6825f
Merge pull request #107 from trilitech/feat/update-contract-tutorial
timothymcmackin Sep 14, 2023
10f2981
stray sentence
timothymcmackin Sep 13, 2023
f97171e
jsLIGO version of the smart contract tutorial with tutorial overview …
timothymcmackin Sep 14, 2023
604e142
Merge pull request #109 from trilitech/feat/update-contract-tutorial-…
timothymcmackin Sep 14, 2023
6377d8b
Merge pull request #105 from trilitech/feat/tezos-different
timothymcmackin Sep 14, 2023
13890fa
fix tutorial links: mv originate --> deploy
sashaaldrick Sep 14, 2023
878544b
Merge pull request #111 from trilitech/sasha@mv-originate-deploy
sashaaldrick Sep 14, 2023
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
14 changes: 9 additions & 5 deletions src/components/Layout.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -268,16 +268,20 @@ const tutorialNavigation = [
title: 'Tutorials',
links: [
{
title: 'Originating a contract',
href: '/tutorials/originate-your-first-smart-contract/smartpy',
title: 'Deploy a smart contract',
href: '/tutorials/deploy-your-first-smart-contract',
children: [
{
title: 'SmartPy',
href: '/tutorials/originate-your-first-smart-contract/smartpy',
href: '/tutorials/deploy-your-first-smart-contract/smartpy',
},
{
title: 'LIGO',
href: '/tutorials/originate-your-first-smart-contract/ligo',
title: 'CameLIGO',
href: '/tutorials/deploy-your-first-smart-contract/ligo',
},
{
title: 'jsLIGO',
href: '/tutorials/deploy-your-first-smart-contract/jsligo',
},
],
},
Expand Down
2 changes: 1 addition & 1 deletion src/pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Welcome to the Tezos Documentation Portal. We're currently in _beta_. Please sha

{% quick-link title="Get and Install Tezos" icon="installation" href="/tezos-basics/get-started-with-octez" description="Get started with the Tezos client, Octez" /%}

{% quick-link title="Originate your First Smart Contract" icon="deploy" href="/tutorials/originate-your-first-smart-contract/smartpy" description="How to originate your first smart contract" isTutorial=true /%}
{% quick-link title="Deploy your First Smart Contract" icon="deploy" href="/tutorials/deploy-your-first-smart-contract/smartpy" description="Deploy your first smart contract on Tezos" isTutorial=true /%}

{% quick-link title="Tezos Protocol & Shell" icon="protocol" href="/tezos-basics/tezos-protocol-and-shell" description="Understanding the Tezos Protocol & Shell" /%}

Expand Down
34 changes: 24 additions & 10 deletions src/pages/tezos-basics/tezos-blockchain-overview/index.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,43 @@
---
id: tezos-blockchain-overview
title: An Overview of Tezos
lastUpdated: 5th June 2023
lastUpdated: 11th September 2023
---

# History

Tezos is an open-source, decentralized blockchain [created in 2014](https://tezos.com/whitepaper.pdf) by Arthur and Kathleen Breitman. It raised awareness and support in 2017 with its crowdfunding and launched the following year. Since its inception, Tezos has gone through multiple iterations of upgrades and development, staying true to its ethos -- "a blockchain designed to evolve".


# What Makes Tezos Different?
# What makes Tezos different?

Tezos stands apart from other blockchains in its capability to upgrade, allowing the network to evolve without requiring a hard fork. Anyone building on Tezos can propose a new protocol upgrade and have it adopted by the network without compromising the platform's stability or causing fragmentation. This makes Tezos adaptable to new technologies and able to address user needs where other blockchains struggle to make changes.
Here are some of the features that make Tezos different from other blockchains:

Tezos is unique in its governance model. All stakeholders can participate in the decision-making processes that impact the future direction of the network. Holders of XTZ —-the chain’s native token-— can propose changes to the protocol and bakers vote on them, such as changes to gas fees, reduction in block times, adding new features such as smart rollups, and even changing the consensus mechanism itself.
## Tezos can upgrade itself

The use of formal verification is a powerful feature where the code can be mathematically proven to be correct without side effects. The rigorous process of formal verification ensures that the smart contracts and other components function as intended, reducing the likelihood of errors, bugs, and security vulnerabilities. This approach gives Tezos an edge in security and reliability.
Tezos has a built-in capability to upgrade itself, which allows the network to evolve without requiring a hard fork. Anyone can propose an upgrade to the protocol and have it adopted by the network without compromising the platform's stability or causing fragmentation. This feature allows Tezos to adapt to new technologies and to address user needs rapidly.

Tezos’ proof-of-stake consensus model eliminates the need for high-energy use, making it the “green” choice for blockchains. Tezos' mechanism is known as baking and features optional delegation, allowing any stakeholder to participate in consensus without giving up custody of their tokens. Tezos' approach to consensus has been described as [Liquid Proof of Stake](https://medium.com/tezos/liquid-proof-of-stake-aec2f7ef1da7). Tezos allows its stakers \(i.e. delegators\) to earn rewards by delegating their tez coins without any lock-in or freeze mechanism. This gives the "liquid" nature to Tezos's proof-of-stake implementation.
## Stakeholders participate in governance

Proof-of-stake improves scalability and encourages incentive alignment. It also increases the cost of 51% attacks and avoids environmentally wasteful proof-of-work. Tezos launched in June 2018 as one of the first major Proof-of-Stake networks.
Anyone who holds XTZ — the chain's native token — can propose changes to how Tezos works, such as changes to gas fees and block times, new features such as smart rollups, or even major changes like how the consensus mechanism works.

## Formal verification ensures trust and code quality

*Formal verification* is a process that ensures that a smart contract does what it says it does and has no side effects. Formal verification reduces errors, bugs, and security vulnerabilities in contracts and allows users to trust them. For more information, see [Formal Verification on Tezos](../../advanced-topics/formal-verification/formal-verification-on-tezos).

## Tezos uses proof of stake

The proof-of-stake consensus model consensus model eliminates the need for high energy use, making it the "green" choice for blockchains. Instead of competing to achieve consensus as in proof-of-work models, Tezos nodes (called *bakers*) stake Tezos tokens to earn the right to create blocks and receive rewards. Users who want to participate without running a node themselves can delegate tokens to a baker for a share of the rewards. The bakers and delegators keep control of their tokens and can remove them at any time. Tezos's approach to consensus has been described as [Liquid Proof of Stake](https://medium.com/tezos/liquid-proof-of-stake-aec2f7ef1da7).

The proof-of-stake model improves scalability and encourages incentive alignment. It also increases the cost of 51% attacks and avoids environmentally wasteful proof-of-work. Tezos launched in June 2018 as one of the first major proof-of-stake networks.

## Tezos accepts multiple languages

Tezos lets developers use languages that make sense for their use case, including versions of Python and JavaScript/TypeScript. For more information, see [An Introduction to Smart Contracts](../../smart-contracts/smart-contract-languages/).

# The Tezos Ecosystem

Tezos has robust applications ranging from NFTs, DeFi, and gaming to enterprise and government use cases.
Tezos has robust applications ranging from NFTs, DeFi, and gaming to enterprise and government use cases.

## NFTs on Tezos

Expand All @@ -35,13 +49,13 @@ Tezos is also being used for other NFT-related projects, such as [MoneyTrack](ht

## Enterprise and Government Uses of Tezos

Enterprises and regulatory bodies have been adopting Tezos as well.
Enterprises and regulatory bodies have been adopting Tezos as well.

Tezos is being used by the French Armies and Gendarmerie's Information Center to [validate judicial expenses](https://cointelegraph.com/news/french-cybercrime-division-uses-smart-contacts-on-tezos-blockchain) incurred during investigations and record them on Tezos.

In recent years, the concept of Central Bank Digital Currencies (CBDCs) has gained traction, with several countries around the world exploring their own CBDC projects. Société Générale carried out a series of successful tests [using Tezos](https://decrypt.co/112127/societe-generales-crypto-division-lands-regulatory-approval-france) to explore the potential of CBDCs. In September 2020, the bank announced that it had completed a pilot program using a custom-built version of the Tezos blockchain to simulate the issuance and circulation of CBDCs. The pilot involved testing the technology's ability to handle transactions, make payments, and settle transactions in a digital environment.

The Califonia DMV is also using Tezos for its project to [put car titles on the blockchain](https://fortune.com/crypto/2023/01/26/california-announces-dmv-run-blockchain-through-partnership-with-tezos/).
The Califonia DMV is also using Tezos for its project to [put car titles on the blockchain](https://fortune.com/crypto/2023/01/26/california-announces-dmv-run-blockchain-through-partnership-with-tezos/).

[Sword Group](https://www.sword-group.com/2020/09/28/sword-launches-tezos-digisign/) an international technology company, launched DigiSign, an open-source tool built on Tezos that enables users to digitally sign, certify, and verify the authenticity of digital documents.

Expand Down
28 changes: 28 additions & 0 deletions src/pages/tutorials/deploy-your-first-smart-contract/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
id: first-smart-contract-ov
title: Deploy a smart contract
authors: Tim McMackin
lastUpdated: 14th September 2023
---

This tutorial covers using the Octez command-line client to deploy a smart contract to Tezos.
It covers how to:

- Connect the Octez client to a testnet
- Create a wallet
- Get tokens from a faucet
- Code a contract, including:
- Defining the storage for the contract
- Defining entrypoints in the contract
- Writing code to run when the entrypoints are called
- Deploy (or originate) the contract to Tezos and set its starting storage value
- Look up the current state of the contract
- Call the contract from the command line

This tutorial has different versions for different programming languages.
You can run the tutorial with the version of the language you are most familiar with or want to learn.
You do not need an experience in these languages to run the tutorial.

- To use SmartPy, a language similar to Python, see [Deploy a smart contract with SmartPy](./smartpy)
- To use jsLIGO, a language similar to JavaScript and TypeScript, see [Deploy a smart contract with jsLIGO](./jsligo)
- To use CameLIGO, a language similar to OCaml, see [Deploy a smart contract with CameLIGO](./ligo)
Loading