Contract Development Workflow Issues and Missing Documentation
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- shell, solidity
- Lĩnh vực
- build-system, developer-experience, documentation, testing
Hướng nghiên cứu
Bắt đầu bằng việc kiểm tra .devkit/contracts/Makefile, .devkit/scripts/build và .devkit/contracts/foundry.toml, sau đó so sánh các target của chúng với thư mục ./contracts/ và devkit avs build flow. Done cần bao gồm tài liệu hướng dẫn thiết lập dependency, cùng với một quy trình build và test thực tế bao quát các custom contracts và cung cấp phản hồi biên dịch nhanh hơn.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
While developing custom contracts with DevKit, I've encountered several workflow issues and gaps in documentation that make contract development more difficult than it should be. These issues primarily relate to dependency management, build processes, and the lack of fast feedback loops for contract compilation.
Issues Identified
1. Missing Documentation for Adding Contract Dependencies
Problem: When developers need to install libraries or packages for custom contracts, there's no clear documentation on how to properly add dependencies.
Current Workaround Required:
- For Forge-based dependencies:
- Navigate to
.devkit/contracts/and useforge install <dependency> - Update remappings in
.devkit/contracts/foundry.tomlif needed
- Navigate to
- For Node.js-based dependencies:
- Create a
package.jsonfile in.devkit/contracts/ - Update remapping in
.devkit/contracts/foundry.toml - Manually modify the build command in
.devkit/scripts/buildto:cd .devkit/contracts && npm install && forge clean && forge build -- --include ../../contracts/**/*.sol >&2
- Create a
Impact: This creates a poor developer experience and requires deep knowledge of the DevKit internals.
2. Build and Test Process Doesn't Include Custom Contracts Directory
Problem: Both the build and test targets in .devkit/contracts/Makefile only work with contracts within the .devkit/contracts/ directory and don't include the main ./contracts/ directory where custom contracts are placed.
build:
forge clean
forge build
test:
forge test -vvv
While there is a deploy-custom-contracts target that references custom contracts, the basic build and test commands don't validate that custom contracts compile correctly or run tests for them.
Impact:
- Developers may write custom contracts in
./contracts/that have compilation errors, but these errors won't be caught until deployment time - Custom contract tests placed in
./contracts/test/won't be executed by the standard test command - No way to run targeted tests for custom contracts during development
3. No Fast Contract Compilation Feedback Loop
Problem: There's no quick way to verify contract compilation without running the full devkit avs build command, which includes many time-consuming steps beyond contract compilation.
Current Limitations:
devkit avs buildtakes significant time due to multiple build steps (binaries, contracts, etc.)- Calling the build command in the Makefile directly doesn't build contracts outside the
.devkitfolder - No dedicated contract-only build command for rapid iteration
Impact: Slow feedback loops significantly impact development productivity when iterating on contract code.
Additional Context
These issues became apparent while following the standard DevKit workflow for custom contract development. The current process requires significant manual intervention and deep knowledge of the build system internals, which may deter developers from effectively using DevKit for contract development.
- Ngôn ngữ chính
- Go
- Star
- 28
- Fork
- 10
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Layr-Labs/devkit-cli
-
running `devkit avs create` in `paltform: linux (debian)` fails if `apt-utils` is not installedĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
Layr-Labs/devkit-cli#300 ·
-
Issue with task submissionĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 38/100
Layr-Labs/devkit-cli#237 ·
-
devkit avs call fails.Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
Layr-Labs/devkit-cli#231 · 3 bình luận · 1 reaction ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
Layr-Labs/devkit-cli#221 · 2 bình luận ·
-
TaskRequest.PayloadĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
Layr-Labs/devkit-cli#202 ·
Tất cả issue của Layr-Labs/devkit-cli
Issue tương tự
-
agent-butler-finding chore
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
jordansmall/spindrift#4146 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
IBM/ibmcloud-volume-file-vpc#119 ·
-
security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
IBM/networking-go-sdk#339 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
kubernetes-sigs/mcp-lifecycle-operator#439 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: global bug dx priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày