THIS LANGUAGE IS IN DEVELOPMENT. THINGS MIGHT CHANGE OR BREAK UNTIL WE CUT A STABLE RELEASE
A delightfully simple declarative, data driven programming language built for the EVM, specifically for developing and using Substreams in a more intuitive and powerful manner.
Check out the docs HERE to get started!
NOTE I am adding a releases section here that will build the uberjar into a binary. I have it working locally, just need to wire up the actions! :)
$ streamline [cmd] [opts]
TODO
I'm sure there are lots of bugs waiting to be found. If you find something please let me know!
Store Modules (This is coming super soon)DONE!Arbitrary FunctionsDONE!- Modules w/ Param inputs
- Helpers for bootstrapping and fetching abis for contracts. Think
streamline init
- Contract Instances
- Sink Configs
I pushed back the release of some of these features, as I spent a few days cleaning up and optimizing the code generation pathway. It makes building the repl much simpler. So that is only a few days of work away.
- Arbitrary substeams spkg interop
- Live REPL for substreams development, without wasting your data. (We will offer a free endpoint to query raw block data from)
- LSP and Editor Support for things other than emacs, since I already built that :)
- Rust fn interop
Copyright © 2023 FIXME
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.