sky-ring / rift Goto Github PK
View Code? Open in Web Editor NEWThe Magical Python3 -> TON Portal
Home Page: https://docs.skyring.io/rift/
License: MIT License
The Magical Python3 -> TON Portal
Home Page: https://docs.skyring.io/rift/
License: MIT License
Since there is a community request for go-to TON development solution, I believe that rift project can benefit from adding some kind of showcase
command in addition to init
command, which might roll-out jetton implementation directly to initial projects folder and even optionally deploy it to testnet / mainnet to provide... well, a showcase of rift and, in its own term, TON itself.
Had trouble working from inside poetry environment:
➜ rift-test ~/.pyenv/versions/3.10.7/bin/poetry add rift-framework 14.09.22 13:43
The following packages are already present in the pyproject.toml and will be skipped:
• rift-framework
If you want to update it to the latest compatible version, you can use `poetry update package`.
If you prefer to upgrade it to the latest available version, you can use `poetry add package@latest`.
Nothing to add.
➜ rift-test ~/.pyenv/versions/3.10.7/bin/poetry shell 14.09.22 13:43
Spawning shell within ~/rift-test-lajiwy9G-py3.10
➜ rift-test . ~/rift-test-lajiwy9G-py3.10/bin/activate 14.09.22 13:43
(rift-test-py3.10) ➜ rift-test rift init myproject 14.09.22 13:43
zsh: command not found: rift
(rift-test-py3.10) ➜ rift-test which rift 14.09.22 13:43
rift not found
pyproject.toml file:
(rift-test-py3.10) ➜ rift-test cat pyproject.toml 14.09.22 13:43
[tool.poetry]
name = "rift-test"
version = "0.1.0"
description = ""
authors = ["Hiyorimi "]
readme = "README.md"
packages = [{include = "rift_test"}]
[tool.poetry.dependencies]
python = "^3.10"
rift-framework = "^0.7.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
I installed dependencies with poetry with:
~/.pyenv/versions/3.10.7/bin/python3.10 -m poetry install
~/.pyenv/versions/3.10.7/bin/poetry run pip install -e .
Trying to get testing project up I faced following:
~/.pyenv/versions/3.10.7/bin/poetry run rift init testing-rift
PermissionError: [Errno 13] Permission denied: './testing-rift/contracts/testing-rift.py'
I assume there must be some issue when using python with a relative path.
UPD: folders were created.
Poetry is a great tool for handling both, python versioning and dependancy management. I believe that such a good project as rift can benefit from adopting the usage of poetry compared to pip.
I am unable to run rift init
on both macOS (latest with Python 3.10.6) and Windows (Python 3.10+).
I am getting:
ImportError: Wasmer is not available on this system
After doing some research, it seems like the Wasmer package is not compatible with Python 3.10+ nor Windows (source).
Rift should come with prebuilt binaries for Apple Silicon.
I really want to use it for the TON Smart Contract Challenge and forgive me if I'm wrong, but not having at least a simple API documentation is the biggest blocker from using this right now.
I installed rift with poetry and run rift init testing-rift
from virtualenv. As the result project was created with wrong permissions:
(testing-rift-py3.10) ➜ testing-rift pwd 15.09.22 10:43
~/testing_rift/testing-rift
(testing-rift-py3.10) ➜ testing-rift ls -lh 15.09.22 10:43
total 0
d--------- 2 user staff 64B Sep 15 10:34 build
d--------- 2 user staff 64B Sep 15 10:34 contracts
When running rift init
on Ubuntu 22 (Python 3.10), I am getting the following error:
➜ rift rift init
[1] 26906 illegal hardware instruction (core dumped) rift init
Could you specify what environment is supposed to run on?
Following the instructions in the README, I initialize the project and try to build it. As a result, I get a keyError.
Rift was installed from source.
After changing the generated base contract, I get the same error.
Here is the output in the console:
C:\Users\Lev\dev\TON\rift_tests\rift-f-test>rift build
Building rift-f-test project ...
compiling rift-f-test.py
Traceback (most recent call last):
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\Scripts\rift.exe\__main__.py", line 7, in <module>
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1055, in main
rv = self.invoke(ctx)
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\Lev\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "C:\Users\Lev\dev\TON\rift\rift\cli\commands\build.py", line 93, in build
contracts = sorted(contracts, key=lambda c: c_order[c.__module__])
File "C:\Users\Lev\dev\TON\rift\rift\cli\commands\build.py", line 93, in <lambda>
contracts = sorted(contracts, key=lambda c: c_order[c.__module__])
KeyError: 'rift-f-test'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.