LevelDB & Crypto

Brought by: Frontend Masters

Overview

Dive into cryptography fundamentals and LevelDB to build stronger, more secure applications! Code with James Halliday as you pair modern cryptography and the modular NoSQL databases of LevelDB to help you fortify your communications systems.

Syllabus

  • Introducing LevelDB
  • Methods and Lexicographically
  • Organizing Keys
  • Secondary Indexes
  • Inserting Data
  • Adding and Querying Data
  • Subleveldown
  • Level-Livefeed
  • Designing Modules
  • Best Practices
  • Q&A: IndexedDB vs. LocalStorage
  • Hashes
  • Approaches to Cryptography
  • Sodium and Chloride
  • Using Sodium
  • Secret-Handshake
  • merkle DAGs
  • Working with merkle DAGs
  • Introducing Kappa Architecture
  • Using Hyperlog
  • Database Replication and Duplex Streams
  • Hyperlog-index
  • Hyperkv and Hyperlog-sodium
  • Kappa Architecture Examples
  • WebRTC Swarm with Hyperlogs

Taught by

James Halliday

LevelDB & Crypto
Go to course

LevelDB & Crypto

Brought by: Frontend Masters

  • Frontend Masters
  • Paid
  • English
  • Certificate Not Available
  • Available at any time
  • All
  • N/A
8.1.2PHP Version958msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (621ms)
    • Application (335ms)
    • 1 x Booting (64.83%)
      621.03ms
      1 x Application (34.92%)
      334.55ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed9.91ms
      • select * from `courses` where `slug_en` = 'leveldb-&-crypto' limit 1
        8.32ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. leveldb-&-crypto
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-18 22:19:21' where `id` = 2147
        590μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-18 22:19:21
        • 1. 2147
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (8)
        250μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (41) and `providers`.`deleted_at` is null
        250μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2138 limit 1
        280μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2138
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        zxlUaQYgIsxgGhx6AspqKFq9TfARYyDA5ZtLUUhr
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/leveldb-&-crypto" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/leveldb-&-crypto
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.227" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.227" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "951e2aea19c0eb09-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.227" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.227" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "951e2aea19c0eb09-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "22078" "REMOTE_ADDR" => "172.71.255.56" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/leveldb-&-crypto" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1750285160.2669 "REQUEST_TIME" => 1750285160 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Wed, 18 Jun 2025 22:19:21 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InVScExNNDZHNlBrbWs5blp5OVpJMXc9PSIsInZhbHVlIjoiQk1sc20wekd2eDRnRmdGMy96WTM2UEVRWHdKRDVibGJmeVVGT3NLTTQ0bjlEVHdVS01hTFpnOUxQKy9TL2grdVgxeVpZcTljTlpBdlhJaHFqWURoUE9YUFNwbmhiblBUbG40WGR3amI1eVZRdmNsU2V3UUdqVDNyUzZ6Ny9PWHoiLCJtYWMiOiJiNDE0MDQwYjIwMDMzOTcxNjA4YmJmYzVlYTdhYTA3MGJlZjkwMGM1ZGRkMTdlNzE4OWIxMjRiZDg3MWFkMzc2IiwidGFnIjoiIn0%3D; expires=Thu, 19 Jun 2025 00:19:21 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6InVScExNNDZHNlBrbWs5blp5OVpJMXc9PSIsInZhbHVlIjoiQk1sc20wekd2eDRnRmdGMy96WTM2UEVRWHdKRDVibGJmeVVGT3NLTTQ0bjlEVHdVS01hTFpnOUxQKy9TL2grdVgxeVpZc" 1 => "laravel_session=eyJpdiI6Im5KNnBxT1R5MlBUY3dkUmNHZHQvUFE9PSIsInZhbHVlIjoiTThNb2ZSWFR1Y29NQ0hjMDRydlZISTNHT1RXcFdGSDEvTVhYVytNQWNyVit2V2NWeTZNcWpjZkZ5OTBJVEhndkdydXQ4RlZqNW84WnFWZWF4UlorSW54ek9NV0RnQlE1ZjU0ckNTeXZyZ3F6NzJZbVBCNWJHTkhTQ056eUsvazYiLCJtYWMiOiJkNWFmYWU5ZjBjOWNjM2YxYjllNzc2OGQyMGU2ZTM0MGJkZmFhMjliZWI3MzYwZGQzZmIyNGI4NDJhZDBiYzk1IiwidGFnIjoiIn0%3D; expires=Thu, 19 Jun 2025 00:19:21 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Im5KNnBxT1R5MlBUY3dkUmNHZHQvUFE9PSIsInZhbHVlIjoiTThNb2ZSWFR1Y29NQ0hjMDRydlZISTNHT1RXcFdGSDEvTVhYVytNQWNyVit2V2NWeTZNcWpjZkZ5OTBJVEhndkdy" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InVScExNNDZHNlBrbWs5blp5OVpJMXc9PSIsInZhbHVlIjoiQk1sc20wekd2eDRnRmdGMy96WTM2UEVRWHdKRDVibGJmeVVGT3NLTTQ0bjlEVHdVS01hTFpnOUxQKy9TL2grdVgxeVpZcTljTlpBdlhJaHFqWURoUE9YUFNwbmhiblBUbG40WGR3amI1eVZRdmNsU2V3UUdqVDNyUzZ6Ny9PWHoiLCJtYWMiOiJiNDE0MDQwYjIwMDMzOTcxNjA4YmJmYzVlYTdhYTA3MGJlZjkwMGM1ZGRkMTdlNzE4OWIxMjRiZDg3MWFkMzc2IiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 00:19:21 GMT; path=/XSRF-TOKEN=eyJpdiI6InVScExNNDZHNlBrbWs5blp5OVpJMXc9PSIsInZhbHVlIjoiQk1sc20wekd2eDRnRmdGMy96WTM2UEVRWHdKRDVibGJmeVVGT3NLTTQ0bjlEVHdVS01hTFpnOUxQKy9TL2grdVgxeVpZc" 1 => "laravel_session=eyJpdiI6Im5KNnBxT1R5MlBUY3dkUmNHZHQvUFE9PSIsInZhbHVlIjoiTThNb2ZSWFR1Y29NQ0hjMDRydlZISTNHT1RXcFdGSDEvTVhYVytNQWNyVit2V2NWeTZNcWpjZkZ5OTBJVEhndkdydXQ4RlZqNW84WnFWZWF4UlorSW54ek9NV0RnQlE1ZjU0ckNTeXZyZ3F6NzJZbVBCNWJHTkhTQ056eUsvazYiLCJtYWMiOiJkNWFmYWU5ZjBjOWNjM2YxYjllNzc2OGQyMGU2ZTM0MGJkZmFhMjliZWI3MzYwZGQzZmIyNGI4NDJhZDBiYzk1IiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 00:19:21 GMT; path=/; httponlylaravel_session=eyJpdiI6Im5KNnBxT1R5MlBUY3dkUmNHZHQvUFE9PSIsInZhbHVlIjoiTThNb2ZSWFR1Y29NQ0hjMDRydlZISTNHT1RXcFdGSDEvTVhYVytNQWNyVit2V2NWeTZNcWpjZkZ5OTBJVEhndkdy" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "zxlUaQYgIsxgGhx6AspqKFq9TfARYyDA5ZtLUUhr" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/leveldb-&-crypto" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]