How do I display a node in a block?
You can add a file to your module at src/Plugin/Block/YourBlock.php

namespace Drupal\your_module\Plugin\Block;
use Drupal\Core\Block\BlockBase;

/**
 * Provides a block.
 * @Block(
 *   id = "your_block",
 *   admin_label = @Translation("YourBlock")
 * )
 */
class YourBlock extends BlockBase {

  /**
   * {@inheritdoc}
   */
  public function build() {

    $nid = 2;
    $entity_type = 'node';
    $view_mode = 'teaser';

    $view_builder = \Drupal::entityTypeManager()-&gt;getViewBuilder($entity_type);
    $storage = \Drupal::entityManager()-&gt;getStorage($entity_type);
    $node = $storage-&gt;load($nid);
    $build = $view_builder-&gt;view($node, $view_mode);

    return $build;

  }

  ...


I'm sure with a little effort you can continue this by using blockForm, blockSubmit to set the node id/type/view_mode etc.