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

Rename eopsin to opshin #989

Merged
merged 2 commits into from
Mar 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
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
28 changes: 15 additions & 13 deletions docs/smart-contracts/eopsin.md → docs/smart-contracts/opshin.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
---
id: eopsin
title: eopsin
sidebar_label: eopsin
description: eopsin
image: ../img/logo-eopsin.png
id: opshin
title: opshin
sidebar_label: opshin
description: opshin
image: ../img/logo-opshin.png
---

## Introduction

[eopsin](https://github.com/ImperatorLang/eopsin) is a programming language for developing smart contracts on the Cardano blockchain.
[opshin](https://github.com/OpShin/opshin) is a programming language for developing smart contracts on the Cardano blockchain.
Its syntax is 100% valid Python code and it ensures that contracts evaluate on-chain
exactly as their Python counterpart.
This allows unit tests and verification of the Python code using standard tooling available for Python development.
Existing IDEs, linters and language servers may be re-used as well.
Note that the type system of eopsin is much stricter than the type system of Python, so that many optimizations can be implemented and an elevated level of security is provided.
Note that the type system of opshin is much stricter than the type system of Python, so that many optimizations can be implemented and an elevated level of security is provided.

The language interacts closely with the python library [pycardano](https://pycardano.readthedocs.io/en/latest/index.html).
The internal data structures are defined with data types compatible to the library and allow a tight combination of off- and on-chain code, all written in Python.

:::caution

eopsin is a still a work in progress and is NOT recommended for use in production.
opshin is a still a work in progress and is NOT recommended for use in production.

:::

## Getting started

A short tutorial on getting started with eopsin may be found on [its GitHub page](https://github.com/ImperatorLang/eopsin).
Additionally, a tutorial demonstrating how to write matching off-chain code for eopsin contracts can be found in the [pycardano documentation](https://pycardano.readthedocs.io/en/latest/guides/plutus.html).
A tutorial on getting started with opshin may be found on [its GitHub page](https://github.com/OpShin/opshin).
Additionally, a tutorial demonstrating how to write matching off-chain code for opshin contracts can be found in the [pycardano documentation](https://pycardano.readthedocs.io/en/latest/guides/plutus.html).


### Example contract

This is a basic validator written in eopsin:
This is a basic validator written in opshin:

```python
from eopsin.prelude import *
from opshin.prelude import *

@dataclass()
class CancelDatum(PlutusData):
Expand All @@ -52,6 +52,8 @@ def validator(datum: CancelDatum, redeemer: None, context: ScriptContext) -> Non


## Links
- [eopsin Github Repository](https://github.com/ImperatorLang/eopsin).
- [opshin Github Repository](https://github.com/OpShin/opshin).
- [opshin pioneer program](https://github.com/OpShin/opshin-pioneer-program)
- [opshin example project](https://github.com/OpShin/opshin-example)
- [pycardano Smart Contract documentation](https://pycardano.readthedocs.io/en/latest/guides/plutus.html).

4 changes: 2 additions & 2 deletions docs/smart-contracts/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ In another world, you'd like to build programs, possibly even replace a major co
- The smart contract is a piece of code that allows a decentralized system to operate.

## Programming languages
- [Marlowe](marlowe) - a domain-specific language, it covers the world of financial contracts.
- [Aiken](aiken) - for on-chain validator scripts only: a language & toolchain favouring developer experience.
- [Marlowe](marlowe) - a domain-specific language, it covers the world of financial contracts.
- [opshin](opshin) - a programming language for generic Smart Contracts based on Python.
- [Plutus](plutus) - a platform to write full applications that interact with the Cardano blockchain.
- [eopsin](eopsin) - a programming language for generic Smart Contracts based on Python.

2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ module.exports = {
"smart-contracts/marlowe",
"smart-contracts/plutus",
"smart-contracts/aiken",
"smart-contracts/eopsin",
"smart-contracts/opshin",
],
"Be Part of the Governance": [
"governance/overview",
Expand Down
6 changes: 3 additions & 3 deletions src/data/builder-tools.js
Original file line number Diff line number Diff line change
Expand Up @@ -949,11 +949,11 @@ export const Showcases = [
tags: ["operatortool", "cli"],
},
{
title: "eopsin",
title: "opshin",
description:
"A simple pythonic programming language for Smart Contracts on Cardano.",
preview: require("./builder-tools/eopsin.png"),
website: "https://github.com/ImperatorLang/eopsin",
preview: require("./builder-tools/opshin.png"),
website: "https://github.com/OpShin/opshin",
getstarted: null,
tags: ["python", "cli", "plutus"],
},
Expand Down
File renamed without changes