didkit
Bazel
didkit | Bazel | |
---|---|---|
2 | 136 | |
251 | 22,373 | |
1.2% | 0.5% | |
6.0 | 10.0 | |
16 days ago | about 9 hours ago | |
Rust | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
didkit
-
Ask HN: How Long Is Your CI Process?
We have a CI pipeline for a cross-platform Rust library, and it currently takes an hour across C, Android, iOS, Java, etc. and different combinations of cryptographic libraries. This is probably something we’ll tune over this or next quarter. We also seem to be hitting some GitHub actions limits in terms of storage.
https://github.com/spruceid/didkit/runs/2468746631
-
Launch HN: Spruce (YC W21) – OSS for User Owned and Provably Authentic Data
Hello HN,
My name is Wayne Chang, co-founder of Spruce Systems, Inc. (https://spruceid.com). Spruce builds open source software that allows for the signed issuance of data to users that can then be verified. For example, transaction histories, educational qualifications, and reputation from online platforms.
I grew up on the Internet like many of you. I spent a lot of time on IRC where people frequently tried to dox others, and grew a profound respect for privacy as a result. When your online identity is a big part of who you are, it means a lot more when someone violates your privacy. Online identities will become a lot more of who everyone is, as we’ve seen especially over the past 12 hectic months. Today, we don’t have the right tools to assert control over our own identities or data, and we’re trying to change that with Spruce.
When you download your data from Google Takeout, you get a big .zip file that can’t really be used for anything but backups. The same is true with Facebook and LinkedIn. Most services don’t have automated data export and are only required to provide data when you ask.
Using new standards from W3C called Verifiable Credentials and Decentralized Identifiers, our software allows statements about people, places, and things to be issued as a package, linked together, digitally signed, and cryptographically verified. For example, employees can receive digital proofs of employment to get a mortgage. Gig economy workers can port their ratings from one system to another in a way they control. Data sets can travel along with signed statements that they have been stripped of personally identifiable information. By allowing data to move out of silos and increasingly into the hands of their owners, we can loosen the grip of a few large companies in owning everything.
These standards are already being adopted by big players open to data portability including Microsoft (issuance via Active Directory), Workday (portable work histories), the Digital Credentials Consortium (MIT/Harvard/UC Berkeley diplomas and coursework), and the World Health Organization (privacy-preserving vaccination records).
This technology could fundamentally change how we interact digitally. Instead of advertisers profiling people behind their backs, people can just present their credit card histories from Yodlee to get better offers at competitors. In web services, users can upgrade their accounts if they prove they belong to certain alumni networks. Businesses can reduce fraud and improve conversion while users regain control of their information, like if 1Password could store structured documents and also demonstrate their authenticity, untampered from their origins.
At Spruce, we’ve built a cross-platform Rust library called DIDKit that supports the use of Verifiable Credentials, Decentralized Identifiers, and many adjacent specifications in a neat bundle. Through customer feedback, we have grown the list of supported platforms to include Java, C/C++, and Node.js, with many more on the way. We further embed DIDKit into a Flutter application called Credible that runs on Android, iOS, and in the browser through WebAssembly/asm.js. It’s all open source under Apache 2.0. We make money by selling commercial tools, project roadmap commitments, and support contracts.
A great place to start is by building the DIDKit CLI tool and running the example credential issuance and verification shell script on your local GNU/Linux or MacOS machine (also works with Windows using WSL 2).
https://spruceid.dev/docs/didkit/#quickstart
https://spruceid.dev/docs/didkit/example--core-functions-in-...
We invite you to leave feedback about our engineering approach, platforms you’d like to see supported, and interesting use cases that would benefit people if their data were more portable and provably authentic.
You can find our repos here:
DIDKit: https://github.com/spruceid/didkit
Credible: https://github.com/spruceid/credible
Docs: https://spruceid.dev/docs/
Bazel
-
Hello World
Wow, if you curl it, there's a lot of boilerplate code there.
Maybe built using Bazel?
https://bazel.build
-
Things I learned while building projects with NX
Bazel by Google
-
Show HN: Flox 1.0 – Open-source dev env as code with Nix
Luckily a feature to limit the disk cache size is in development: https://github.com/bazelbuild/bazel/issues/5139
-
How to write unit tests in C++ relying on non-code files?
This is a problem that Bazel (https://bazel.build) solves in a very convenient way. You can just keep using the paths relative to the repository root, and as long as you properly declare your test needs that file it will access it without problems. Or you can use the runfile libraries to access them too.
-
blade-build VS Bazel - a user suggested alternative
2 projects | 28 Jan 2024
- Bazel 7.0 LTS
-
My first Software Release using GitHub Release
When doing research for this lab exercise I looked at both vcpkg and conan. Both are package managers that would automate the installation and configuration of my program with its dependencies. However, when it came to releasing and sharing my program my options were limited. For example, the central public registry for conan packages is conan-center, but these packages are curated and the process is very involved. There was no way conan-center would accept a class project like mine. Alternatively, I could host a conan package on a public Artifactory repository, but accessing the package requires users to add the repository to their conan remote. This already sounded like too many steps to expect regular users to follow - I already haven't setup any conan remotes, there's no way I could expect regular users to know about conan remotes, let alone have conan installed on their system. After discussing with people online and consulting my instructor, I ultimately decided to do a GitHub release. However, in the future I was encouraged to look into using CMake or bazel.
-
Declarative Gradle is a cool thing I am afraid of: Maven strikes back
NOTE: I won’t mention SBT and Leiningen here because, with all due respect, they are niche build tools. I also won’t discuss Kobalt for the same reason (besides, it’s no longer actively maintained). Additionally, I won’t touch upon Bazel and Buck in this context, mainly because I’m not very familiar with them. If you have insights or comments about these tools, please feel free to share them in the comments 👇
- Bazel
-
A Modern C Development Environment
> None of this solves C's only REAL problem (in my opinion) which is the lack of dependency management.
Bazel solves this really nicely, I know some people have strong opinions on it but I cannot recommend it enough
https://bazel.build/
What are some alternatives?
did-core - W3C Decentralized Identifier Specification v1.0
Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
nyc - the Istanbul command line interface
nx - Smart Monorepos · Fast CI
ActionHero - Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
meson - The Meson Build System
Gradle - Adaptable, fast automation for all
ninja - a small build system with a focus on speed
turborepo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turborepo and Turbopack. [Moved to: https://github.com/vercel/turbo]
Apache Maven - Apache Maven core
mediapipe - Cross-platform, customizable ML solutions for live and streaming media.
pants - The Pants Build System